鼠标滚动到某个楼层,某个楼层的楼层按钮高亮显示,点击左边的楼层按钮,页面直接定位到这个楼层css
html:html
<div style="height: 100px;text-align: center" class="head">头部</div>this
<div class="main">
<div style="background-color: red;" class="louti">服饰</div>
<div style="background-color:chartreuse;" class="louti">美妆</div>
<div style="background-color: indianred;" class="louti">手机</div>
<div style="background-color: darkgreen;" class="louti">家电</div>
<div style="background-color: beige;" class="louti">数码</div>
<div style="background-color: hotpink;" class="louti">运动</div>
<div style="background-color: #abcdef;" class="louti">居家</div>
<div style="background-color: lightpink;" class="louti">母婴</div>
<div style="background-color: aqua;" class="louti">食品</div>
<div style="background-color: #abcdef;" class="louti">图书</div>
</div>spa
<ul>
<li>1F<span>服饰</span></li>
<li>2F<span>美妆</span></li>
<li>3F<span>手机</span></li>
<li>4F<span>家电</span></li>
<li>5F<span>数码</span></li>
<li>6F<span>运动</span></li>
<li>7F<span>居家</span></li>
<li>8F<span>母婴</span></li>
<li>9F<span>食品</span></li>
<li>10F<span>图书</span></li>
</ul>htm
css: 事件
* {
margin:0;
padding:0;
}
.main div {
width:90%;
height:400px;
text-align:center;
margin:10px auto;
}
li {
list-style-type:none;
width:40px;
height:40px;
line-height:40px;
text-align:center;
border-bottom:1px dashed #aaa;
position:relative;
}
li.hover {
background-color:#c81623;
}
/*鼠标移动上去后的效果*/
li span {
display:none;
position:absolute;
width:40px;
height:40px;
text-align:center;
}
li.hover span {
display:block;
top:0;
left:0;
background-color:#c81623;
color:white;
}
/*鼠标移动上去后的效果*/
ul {
position:fixed;
left:10px;
top:100px;
display:none;
}
li span.cli {
display:block;
top:0;
left:0;
background-color:#c81623;
color:white;
}rem
js:it
//鼠标移动上去的事件
$(function() {
$("ul li").hover(function() {
$(this).addClass("hover");
}, function() {
$(this).removeClass("hover");
});io
var mark = 1;
//鼠标点击事件
$("ul li").click(function() {
$(this).find("span").addClass("cli");
$(this).siblings().find('span').removeClass("cli"); //siblings为找到该li的全部同辈元素;
});
//鼠标点击跳转效果
$("ul li").click(function() {
mark = 2;
var index = $(this).index();
var h = $(".louti").eq(index).offset().top; //offset为获取匹配元素在当前视口的相对偏移,有top和left;
$('body').animate({
scrollTop: h
}, 500, function() { //scrollTop为获取匹配元素相对滚动条顶部的偏移。
mark = 1
})
});console
$(window).scroll(function() { var H = $(this).scrollTop(); //获取滚动条的高度 if (mark == 1) { $(".louti").each(function() { index = $(this).index(); h = $(".louti").eq(index).offset().top; if (H >= h) { $("li").eq(index).find("span").addClass("cli"); $("li").eq(index).siblings().find("span").removeClass("cli") } }); } //当滚动到必定高度时楼梯式导航消失与显示 var $height = $(window).scrollTop(); var $main_h = $(".main").offset().top; console.log($height); console.log($main_h); if ($height > $main_h) { $("ul").fadeIn(600); } else { $("ul").fadeOut(600); } }) })