很早之想就学习jquery的插件写法,一直拖到现在,今天趁着没什么工作忙,搜索些资料学习下,写了个比较简单的选项卡效果。
刚开始有看到一个很通俗易通的例子:alert对话框。
jquery.alertMsg.js
rush:js;">
/**
* [description]
* @p
aram {[type]} $ [description]
* @return {[type]} [description]
*/
(function($){
$.fn.alertMsg = function(options) {
var defaults = {
mouseEvent: 'clcik',msg: 'hello world'
}
var options = $.extend(defaults,options);
var $this = $(this);
$this.on(options.mouseEvent,function(e){
alert(options.msg);
})
}
})(jQuery)
调用方式:
rush:js;">
$(function(){
$('#test').alertMsg({
mouseEvent : "click",msg : "第一次写插件!"
});
});
jQuery插件结构
rush:js;">
(function($){
// tabs
自定义的
插件名称
$.fn.tabs = function(options) {
// 设置默认参数
var defaults = {
activeClass: 'active'
...
}
// 对象扩展
var options = $.extend(defaults,options);
return $(this).each(function(){
// 编写相应实现代码
})
}
})(jQuery)
选项卡实现:
1、HTML结构
rush:js;">
(function($){
$.fn.tabs = function(options) {
var defaults = {
Event: 'click',activeClass: 'active'
}
var options = $.extend(defaults,options);
return $(this).each(function(){
var $thisTab = $(this).find('ul');
var $tabCon = $thisTab.siblings('div');
$tabCon.find('div').each(function(){
$(this).hide();
});
$thisTab.find('li:f<a href="https://www.jb51.cc/tag/irs/" target="_blank" class="keywords">irs</a>t').addClass(options.activeClass);
$tabCon.find('div:f<a href="https://www.jb51.cc/tag/irs/" target="_blank" class="keywords">irs</a>t').show();
$thisTab.find('li').each(function(index){
$(this).on(options.Event,function(){
$(this).siblings().removeClass(options.activeClass);
$(this).addClass(options.activeClass);
$tabCon.find('div').eq(index).show().siblings().hide();
});
});
});
}
})(jQuery)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。