滚动div内容,变化导航栏状态,点击导航栏切换div内容

点击导航栏切换div内容用到的是“锚点”,不清楚锚点的可以去这里看看https://www.cnblogs.com/zhangxiaopeng/p/6255750.html

<script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script>
<style>
        *{padding:0;margin:0;}
	.warp{position:relative;height:600px;width:300px;overflow:hidden}
	.menu_nav{position:relative;float:left;overflow:auto;width:40%;height:100%;}
	.menu_con{position:relative;float:right;overflow:auto;height:100%;}
	.mc_shop{height:200px;width:100%;}
	.onn{background:red}
	ul{width:100%;}
	li{list-style-type:none;height:80px;width:100%;}
</style>
<div class="warp">
	<div class="menu_nav">
		<ul>
		 <li class="onn"><a href="#1">1</li>
		 <li><a href="#2">2</li>
		 <li><a href="#3">3</li>
		 <li><a href="#4">4</li>
		 <li><a href="#5">5</li>
		 <li><a href="#6">6</li>
		 <li><a href="#7">7</li>
		</ul>
	</div>
	<div class="menu_con">
		<div class="mc_shop">
			<p class="mcs_top"><a name="1"></a>我是1</p>
		</div>
		<div class="mc_shop">
			<p class="mcs_top"><a name="2"></a>我是2</p>
		</div>
		<div class="mc_shop">
			<p class="mcs_top"><a name="3"></a>我是3</p>
		</div>
		<div class="mc_shop">
			<p class="mcs_top"><a name="4"></a>我是4</p>
		</div>
		<div class="mc_shop">
			<p class="mcs_top"><a name="5"></a>我是5</p>
		</div>
		<div class="mc_shop">
			<p class="mcs_top"><a name="6"></a>我是6</p>
		</div>
		<div class="mc_shop">
			<p class="mcs_top"><a name="7"></a>我是7</p>
		</div>
	</div>
</div>

<script>
$(document).ready(function() {
    $(".menu_con").scroll(function(){//监听滚动事件
        var nScrollTop = $(this)[0].scrollTop;//表示滚动条滚动的高度
        var arrHeight = getHeight($('.mc_shop'));
        var b = '';
        $.each(arrHeight,function(index,value){
            if(nScrollTop < value){
                b = index;
                return false;
            }
        });
        $('.menu_nav ul li').removeClass('onn');
        $('.menu_nav ul li').eq(b).addClass('onn');
    });
});

function getHeight(mc_shop) {
    var arr =  new Array();
    mc_shop.each(function (index,element) {
        if(index == 0){
            arr[index] = $(element).height();
        }else {
            arr[index] = arr[index-1] + $(element).height();
        }
    });
    return arr;
}
</script>

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值