gpt4 book ai didi

javascript - 粘性导航栏功能

转载 作者:行者123 更新时间:2023-11-28 13:46:02 24 4
gpt4 key购买 nike

我正在尝试使用 jQuery 航路点创建一个粘性导航栏。我对 Javascript 了解不多,所以我正在尝试从示例中拼凑。

这是我正在使用的导航:

    <section id="nav">

<div class="container">
<div id="mainnav">
<nav id="myNavigation" class="horizontal_nav pageScrollerNav topNav sixteen columns alpha">
<ul>
<li><a href="#"><i class="icon-home"></i> Home</a></li>
<li><a href="#"><i class="icon-picture"></i> Portfolio</a></li>
<li><a href="#"><i class="icon-list-ul"></i> Services</a></li>
<li><a href="#"><i class="icon-comments"></i> Contact</a></li>
<li><a href="#"><i class="icon-rss"></i> Follow Me</a></li>
</ul>
</nav>
</div> <!--end mainnav-->
</div> <!--end nav-container-->

</section> <!--end nav-->

这是我设置的 jQuery:

    $(document).ready(function() {
$('.top').addClass('hidden');
$.waypoints.settings.scrollThrottle = 30;
$('#mainnav').waypoint(function(event, direction) {
$('.top').toggleClass('hidden', direction === "up");
}, {
offset: '-100%'
}).find('#myNavigation').waypoint(function(event, direction) {
$(this).parent().toggleClass('sticky', direction === "down");
event.stopPropagation();
});
});

非常感谢您的帮助!

最佳答案

假设你有一个像这样的类:

.nav-fixed {
position: fixed;
top: 0;
left: 0;
}

您可以像这样编写一些 jQuery(根据为 Twitter 的 Bootstrap 文档页面编写的代码进行修改)。它将监视您的导航元素。当它到达屏幕顶部时,它将获得 nav-fixed 类,该类会将元素固定到页面的左上角。

var $window = $(window),
$nav = $('#navigation'),
nav_top = $nav.offset().top,
isNavFixed = false;

$window.on('scroll',checkNav); // call function when page scrolls

checkNav(); // initial call to function on document ready

function checkNav() {
var scroll_top = $window.scrollTop();

if(scroll_top >= nav_top && !isNavFixed) {
isNavFixed = true;
$nav.addClass('nav-fixed');
} else if(scroll_top <= nav_top && isNavFixed) {
isNavFixed = false;
$nav.removeClass('nav-fixed');
}
}

您可以根据需要修改此代码以使用您的航点插件。

关于javascript - 粘性导航栏功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11871998/

24 4 0