gpt4 book ai didi

javascript - JQuery 滚动到 anchor 表演奇怪

转载 作者:行者123 更新时间:2023-11-30 17:00:22 25 4
gpt4 key购买 nike

所以我有一个脚本可以在点击时滚动到一个 anchor 。它似乎不适用于“第一次”点击。它会跳跃,而不是滚动。但在第一次点击后,它会跳转到 anchor 并出现我的菜单,然后所有链接(包括第一个跳转的链接)都可以正常工作。我不确定是什么原因导致的,想知道是否还有其他人有想法?

我有一个 JSFiddle,但在那里工作正常。只有当我在我的网站中实现相同的代码时,它才会发生。

谢谢

http://spo.comxa.com/

上传上面的文件进行测试,同样的事情正在发生。

http://jsfiddle.net/reeceheslop/b59fn43e/

$(document).ready(function () {
$('a[href^="#"]').on('click', function (e) {
e.preventDefault();

var target = this.hash,
$target = $(target);
$('html, body').stop().animate({
'scrollTop': $target.offset().top
}, 900, 'swing', function () {
window.location.hash = target;

});
});

最佳答案

您的点击功能似乎嵌套在滚动事件监听器中,因此我假设在滚动某些内容之前不会调用它。尝试将它与文档就绪函数一起移到外部,如下所示:

document.addEventListener('scroll', function (e) {
var newPos = (window.scrollY * -1) / 5
document.getElementById("header").style.backgroundPosition = "center " + newPos + "px";

var startY = 300;

$(window).scroll(function(){
checkY();
});

function checkY(){
if( $(window).scrollTop() > startY ){
$('.fixednav').slideDown();
}else{
$('.fixednav').slideUp();
}
}


checkY();

});

$(document).ready(function(){
$('a[href^="#"]').on('click',function (e) {
e.preventDefault();

var target = this.hash,
$target = $(target);
$('html, body').stop().animate({
'scrollTop': $target.offset().top
}, 900, 'swing', function () {
window.location.hash = target;

});
});
});

关于javascript - JQuery 滚动到 anchor 表演奇怪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28984480/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com