解决jq双重tab-多个选项卡嵌套关系 封装tab点击和hover事件

css:

.tab-section{
    position: relative;
}
.tab-section .tab-header{
    position: relative;
}
.tab-section .tab-header li{
    float: left;
    text-align: center;
    cursor: pointer;
}
.tab-header li:hover,.tab-header li.active{
    color: #f98726;
}
.tab-section .tab-body .tab-block{
    display: none;
}
.tab-section .tab-body .tab-block.active{
    display: block;
}

 

HTML:

<div class="tab-section j-tab-click-2">
    <div class="tab-header">
        <ul>
            <li>厂房</li>
            <li>土地</li>
        </ul>
    </div>
<div class="tab-body j-tab-body-2">
    <div class="tab-block active">1</div>
        <div class="tab-block">2</div>
    </div>
</div>

 

js使用:

//tab切换通用方法
function jTab(tabId,tabBox,eve){
    $(tabId).bind(eve,function(){
        $(this).addClass('active').siblings().removeClass('active');
        $(tabBox).children().eq($(this).index()).addClass('active').siblings().removeClass('active');
   });
}

$(function(){

    点击事件: jTab(".j-tab-click-1>.tab-header li",".j-tab-body-1","click");
    鼠标移上事件:jTab(".j-tab-hover-2>.tab-header li",".j-tab-body-2","mouseeter");
});

 

注意: 鼠标移上只能写mouseeter,不能使用hover

使用 mouseenter 和 mouseleave 这两个事件来代替 (ps:同时这也是 .hover() 函数中使用的事件) 

.hover()事件是jquery自定义函数 就相当于mouseenter 和 mouseleave 这两个事件    它并非一个真正的事件   所以不能在bind()方法中当作参数使用。

转载于:https://my.oschina.net/parchments/blog/1815153

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值