tab({ })是什么意思,刷新的时候有时候会报错有时候正常

tab()是什么,是否与 $("tab")= function () { };等价

  • 原来的demo这下面这个

  • Jquery文件代码是这个:

$(function () {

   tab({
        element: ".tab",
        triggers: ".tab-nav span",
        contents: ".contents",
        //显示第一个content
        activeIndex: 0,
        //添加触发类型
        triggerType: "click",
        onSwitch: function (index, count) {
            console.log('click: '+ (index+1) + ' total: '+count);
        }
    });
});

//封装为tab函数
var tab = function (options) {
    var element;
    var triggers;
    var contents;
    var activeIndex;
    var triggerType;
    var onSwitch;
    var count;
    element = $(options.element);
    triggers = $(options.triggers);
    contents = $(options.contents);
    activeIndex = options.activeIndex || 0;
    onSwitch = options.onSwitch || {};
    //确保安全
    if(options.triggerType === 'hover'){
        triggerType = 'hover';
    }else{
        triggerType = 'click';
    }
    count = triggers.length;
    //设置默认初始面板
    if(!activeIndex){
        //当没有设置的时候切换到第一个面板
        triggers.eq(0).addClass("active");
        contents.children().eq(0).addClass("active");
    }else{
        triggers.eq(activeIndex).addClass("active");
        contents.children().eq(activeIndex).addClass("active");

    }
   //绑定监听事件
    triggers[triggerType](function () {
        var seletc_nav = $(this);
        //调用触发函数
        onSwitch(seletc_nav.index(), count);
        //聚焦点击的span
        seletc_nav.addClass("active")
            .siblings()
            .removeClass("active");
//隐藏其他模块,显示对应模块
        contents.children()
            .hide()
            .eq(seletc_nav.index())
            .show();
    });
};
阅读 3.3k
1 个回答

tab()是注册的函数,tab({})是给tab函数传进一个匿名对象进去。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进