【发布时间】:2016-08-15 00:21:13
【问题描述】:
我有一个简单的圆形 div 侧面导航,点击一个滚动到相关的.block div,这一切都很好。现在虽然我想知道是否可以突出显示相关的.nav-item div,这取决于哪个.block div 在视图中。
例如如果看到#block-3,则带有data-hook="3" 的相关.nav-item div 将突出显示background-color: blue。
jsFiddle 演示:http://jsfiddle.net/rf4Ea/3/
HTML:
<div id="block-one" class="block"></div>
<div id="block-two" class="block"></div>
<div id="block-three" class="block"></div>
<div id="block-four" class="block"></div>
<div id="block-five" class="block"></div>
<ul class="nav-wrap">
<li class="nav-item" data-hook="one"></li>
<li class="nav-item" data-hook="two"></li>
<li class="nav-item" data-hook="three"></li>
<li class="nav-item" data-hook="four"></li>
<li class="nav-item" data-hook="five"></li>
</ul>
jQuery:
$(document).ready(function () {
Resize();
});
//Every resize of window
$(window).resize(function () {
Resize();
});
//Dynamically assign height
function Resize() {
// Handler for .ready() called.
var divwid = $(window).height() / 2,
navhei = $('.nav-wrap').height() / 2,
newhei = divwid - navhei;
$('.nav-wrap').css({
'top': newhei
});
}
$('.nav-item').click(function () {
$('html, body').animate({
scrollTop: $('#block-' + $(this).attr('data-hook')).offset().top - 0
}, "slow");
});
如果这是可能的?任何建议将不胜感激!
【问题讨论】:
-
"Waypoints 是一个库,可以让您在滚动到某个元素时轻松执行函数。" 听起来像是解决问题的工具。以下是如何将库与 jQuery 一起使用 - imakewebthings.com/waypoints/guides/jquery-zepto.
标签: javascript jquery html css