CSS+JS 滑动导航

8 篇文章 0 订阅
6 篇文章 0 订阅

公司小需求,引用插件有些不值当,自己写一个算了。
(基于bootstrap 导航组件开发,也可自己稍微修改,用在自己的导航上)
qweeqwe

在这里插入图片描述

#cate_nav_box {
    overflow: hidden; position: relative;
}
.cate_switch_btn {
	transition: all 500ms ease;
    position: absolute; 
    top: 0; 
    bottom: 0; 
    z-index:1;
    background-color: #e0e0e0; 
    color: #7d7d7d;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 10px;
    cursor: pointer;
}
#cate_left_button {
    left: 0;  
}
#cate_right_button { 
    right: 0;
}
.cate_nav_ul {
    flex-wrap: nowrap;
    width: fit-content;
    transition: all 500ms ease;
}
.cate_nav_ul .nav-item {
    white-space: nowrap;
}
.cate_left_right_button {
    opacity: 0;
    z-index: -1;
}
var movement_num = 0;
var nav_item_move_width = 0;
var cate_nav_box,cate_nav_ul_width;

cate_nav_box = $("#cate_nav_box").width();
cate_nav_ul_width = $(".cate_nav_ul").width();

$("#cate_right_button").on("click",function () {
    var nav_item_width = $(".cate_nav_ul li.nav-item").eq(movement_num).width();
    nav_item_move_width = nav_item_move_width + nav_item_width;
    if((nav_item_move_width+cate_nav_box) < cate_nav_ul_width) {
        $(".cate_nav_ul").css('margin-left','-'+nav_item_move_width+'px');
        movement_num++;
    } else {
        $(".cate_nav_ul").css('margin-left','-'+(cate_nav_ul_width-cate_nav_box)+'px');
        $("#cate_right_button").addClass('cate_left_right_button');
    }
    $("#cate_left_button").removeClass('cate_left_right_button');
})
$("#cate_left_button").on("click",function () {
    $(".cate_nav_ul").css('margin-left','0px');
    $("#cate_left_button").addClass('cate_left_right_button');
    $("#cate_right_button").removeClass('cate_left_right_button');
    movement_num = 0;
    nav_item_move_width = 0;
})

<div id="cate_nav_box">
	<div id="cate_left_button" class="cate_left_right_button cate_switch_btn">
	    <i class="fa fa-chevron-left"></i>
	</div>
    <div id="cate_right_button" class="cate_switch_btn">
        <i class="fa fa-chevron-right"></i>
    </div>
	<ul class="nav nav-tabs bg-white cate_nav_ul" id="home_tablist" role="tablist">
	    <li class="nav-item">
	        <a class="nav-link active" data-toggle="pill" href="#shouye_tuijian" role="tab">推荐</a>
	    </li>
	    <li class="nav-item">
	        <a class="nav-link" data-toggle="pill" href="#follow" role="tab">关注</a>
	    </li>
		<li class="nav-item">
			<a class="nav-link" data-toggle="pill" href="javascript:;" role="tab" aria-selected="false">iOT安全</a>
		</li>
		.
		.
		.
		.
		.....更多tab
	</ul>
</div>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值