很抱歉这篇文章很长,但我希望包含所有可能有用的信息。
我有一个单页网站,由几个垂直堆叠的div组成。我使用浮动导航栏和softscroll.js使锚点链接在被点击时移动到对应的div。
我是一名前端设计师,但通过这个网站和数小时的试错和搜索,我已经成功让所有元素工作。(自动调整div高度、高亮点击的锚点链接、滚动等)
我已经设置了当点击锚点链接时,它的类会变为“active”。这个效果非常好。但我也想在用户手动滚动到div时触发相同的效果。
我查看了这篇文章中使用的代码,因为我已经看到过几次。但它替换了我已经运行的一些代码,仍然无法高亮显示。
以下是我用于激活锚点的代码:
// JS for highlight selected button
$(function() {
$("a").click(function() {
// remove classes from all
$("a").removeClass("active");
// add class to the one we clicked
$(this).addClass("active");
});
});
我正在使用这个方法根据窗口大小调整div的大小。不确定这是否相关,但在此提供:
// JS for Div Height Auto Resize
$(document).ready(function(){
resizeDiv();
});
window.onresize = function(event) {
resizeDiv();
}
function resizeDiv() {
vpw = $(window).width();
vph = $(window).height();
$('.layoutblock').css({'height': vph + 'px'});
}
这是菜单的HTML代码:
<div id="navigation">
<ul>
<li><a href="#composition" ><img src="images/icons/compicon.png" alt="composition" width="32" height="36" border="0" align="middle" />Composition</a></li>
<li><a href="#creative"><img src="images/icons/designicon.png" alt="Large Format" width="36" height="33" border="0" align="middle" /> Creative</a></li>
[...]
</ul>
</div>
...以及菜单CSS:
#navigation {
background-color: #F60;
position: fixed;
height: 100%;
width: 60px;
-moz-transition:width .5s;
-webkit-transition:width .5s;
-o-transition:width .5s;
transition:width .5s;
overflow: hidden;
left: 0px;
top: 0px;
z-index: 99;
padding-top: 30px;
margin-left: 0px;
}
#navigation:hover {
margin-left: 0px;
width: 190px;
}
#navigation li {
list-style: none;
margin-left: -40px;
}
#navigation img {
padding-left: 5px;
padding-right: 20px;
}
#navigation li a {
font-family: "Proxima N W01 Smbd", Arial, Helvetica;
font-size: 14px;
display: block;
color: white;
font-weight:bold;
text-decoration: none;
text-transform:uppercase;
line-height:26px;
padding-left:5px;
padding-right: 5px;
padding-top: 10px;
height: 50px;
white-space: nowrap;
}
a.active{
background-color: #333;
}
最后,这是测试页面的网址:[为了安全起见已删除]。
$('.divYouWantToListenTo').on('scroll', function() {do stuff;})
可以翻译为:当.divYouWantToListenTo
元素滚动时,执行一些操作。 - Daveee