js部分:

//监听滚动条滑动距离
			$(window).on('scroll', function(){
				var scrollTop = $(document).scrollTop()
				var lines = $('.el_line')
				if (scrollTop >= 380){
					$('.el_topNav').css('opacity',1)
				} else {
					$('.el_topNav').css('opacity',0)
				}
				
				for (var i = 0; i < lines.length; i++) {
					var tops = $(lines[i]).offset().top - 84 // 循环出每个盒子到顶部的距离 84是我分割线的宽度 根据个人情况而定
					var line_height = $('.el_commodity>ul').eq(i).outerHeight()// 循环出每个盒子的高度
					 /*如果当前滚动的距离大于或者等于当前盒子到达顶部的距离 且
					  *小于当前盒子到达顶部距离 与 当前盒子高度的和 
					  *那么当前盒子就处于可视范围内
					  * */
					if ( scrollTop >= tops && screenTop < (tops + line_height)) {
						$('.el_topNav>div').eq(i).addClass('el_active').siblings().removeClass('el_active') //添加某一个样式  i为当前盒子下标
					}
				}
			})
posted on 2018-05-12 16:51  佑之以航  阅读(3825)  评论(0编辑  收藏  举报