Javascript 粘性导航 scrollTo
Javascript Sticky nav scrollTo
所以我得到了这个粘性 header,效果很好我遇到的唯一问题是当我按下 link 并且屏幕向下滚动时它与我的内容重叠所以我需要设置 -47px高度或类似的东西,所以它会滚动到菜单下方而不是菜单下方。
我的代码
$(document).ready(function() {
var stickyNavTop = $('.header').offset().top;
var stickyNav = function(){
var scrollTop = $(window).scrollTop();
if (scrollTop > stickyNavTop) {
$('.header').addClass('sticky');
} else {
$('.header').addClass('sticky');
}
};
stickyNav();
$(window).scroll(function() {
stickyNav();
});
});
$(document).ready(function() {
var pull = $('#pull');
menu = $('nav ul');
menuHeight = menu.height();
$(pull).on('click', function(e) {
e.preventDefault();
menu.slideToggle();
});
$(closenav).on('click', function(e) {
e.preventDefault();
menu.slideToggle();
});
$(window).resize(function(){
var w = $(window).width();
if(w > 760 && menu.is(':hidden')) {
menu.removeAttr('style');
}
});
});
对不起,如果我不够清楚,需要换一种方式解释。
请记住我是JS菜鸟!
谢谢!
var $root = $('html, body');
$('a').click(function() {
var href = $.attr(this, 'href');
$root.animate({
scrollTop: $(href).offset().top -47
}, 500, function () {
window.location.hash = href;
});
return false;
});
将此添加到您的 $(document).ready(function(){});
所以我得到了这个粘性 header,效果很好我遇到的唯一问题是当我按下 link 并且屏幕向下滚动时它与我的内容重叠所以我需要设置 -47px高度或类似的东西,所以它会滚动到菜单下方而不是菜单下方。
我的代码
$(document).ready(function() {
var stickyNavTop = $('.header').offset().top;
var stickyNav = function(){
var scrollTop = $(window).scrollTop();
if (scrollTop > stickyNavTop) {
$('.header').addClass('sticky');
} else {
$('.header').addClass('sticky');
}
};
stickyNav();
$(window).scroll(function() {
stickyNav();
});
});
$(document).ready(function() {
var pull = $('#pull');
menu = $('nav ul');
menuHeight = menu.height();
$(pull).on('click', function(e) {
e.preventDefault();
menu.slideToggle();
});
$(closenav).on('click', function(e) {
e.preventDefault();
menu.slideToggle();
});
$(window).resize(function(){
var w = $(window).width();
if(w > 760 && menu.is(':hidden')) {
menu.removeAttr('style');
}
});
});
对不起,如果我不够清楚,需要换一种方式解释。 请记住我是JS菜鸟!
谢谢!
var $root = $('html, body');
$('a').click(function() {
var href = $.attr(this, 'href');
$root.animate({
scrollTop: $(href).offset().top -47
}, 500, function () {
window.location.hash = href;
});
return false;
});
将此添加到您的 $(document).ready(function(){});