右悬浮菜单,页面滚动监听

本文介绍了一个关于页面滚动监听的实践案例,通过JavaScript实现菜单在页面滚动时始终保持悬浮在右侧。
摘要由CSDN通过智能技术生成

写了一个页面菜单滚动监听的案例

样式部分:

/*右侧悬浮按钮*/
.brand-rightNav {
	position: fixed;
	right: 20px;
	top: -300px;
	z-index: 99;
	font-family: "微软雅黑";
}

.brand-rightNav li{
	width: 220px;
	height: 60px;
	line-height: 60px;
	margin-bottom: 10px;
	border:1px solid #d6d6d6;
	border-radius: 4px;
	text-align: center;
	color: #555;
	font-size: 18px;
	cursor: pointer;
	transition: all .3s;
	background: #fff;
}

.brand-rightNav li.active,
.brand-rightNav li:hover{
	border:1px solid #005dba;
	color: #fff;
	background: #005dba;
}

html部分:

<ul class="brand-rightNav">
	<li>菜单1</li>
	<li>菜单2</li>
	<li>菜单3</li>
	<li>菜单4</li>
</ul>	

js部分:

< script >
	$(function() {
		var rNav = $('.brand-rightNav')
		var rNavLi = $('.brand-rightNav li')
		$(window).scroll(function() {
			if($(window).scrollTop() > 600) {
				rNav.css({
					'position': 'fixed',
					'top': 100
				}).addClass('animated bounceInRight')

			} else {
				rNav.css({
					'position': '',
					'top': ''
				})
			}
			if($(window).scrollTop() < 2515) {
				rNavLi.eq(0).addClass('active').siblings().removeClass('active');;
			}
			if($(window).scrollTop() > 2516 && $(window).scrollTop() < 3900) {
				rNavLi.eq(1).addClass('active').siblings().removeClass('active');;
			}
			if($(window).scrollTop() > 3901 && $(window).scrollTop() < 6600) {
				rNavLi.eq(2).addClass('active').siblings().removeClass('active');;
			}
			if($(window).scrollTop() > 6601) {
				rNavLi.eq(3).addClass('active').siblings().removeClass('active');;
			}

		});

		rNavLi.eq(0).click(function() {
			$(this).addClass('active').siblings().removeClass('active');
			var _i = $(this).index();
			$('body, html').animate({
				scrollTop: 700
			}, 300);
		});
		rNavLi.eq(1).click(function() {
			$(this).addClass('active').siblings().removeClass('active');
			var _i = $(this).index();
			$('body, html').animate({
				scrollTop: 2517
			}, 300);
		});
		rNavLi.eq(2).click(function() {
			$(this).addClass('active').siblings().removeClass('active');
			var _i = $(this).index();
			$('body, html').animate({
				scrollTop: 3902
			}, 300);
		});
		rNavLi.eq(3).click(function() {
			$(this).addClass('active').siblings().removeClass('active');
			var _i = $(this).index();
			$('body, html').animate({
				scrollTop: 6602
			}, 300);
		});

	}) 
</script>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值