gpt4 book ai didi

javascript - JQuery 滚动事件在回发后不会立即触发

转载 作者:行者123 更新时间:2023-12-03 01:21:32 24 4
gpt4 key购买 nike

我有一个 jQuery 函数,可以在 div 滚动到原始位置下方后使其粘在页面顶部。但是,单击按钮(回发)后,您必须先滚动到 div 上方,然后才能再次工作。

我认为这可能是麻烦制造者:

MaintainScrollPositionOnPostback="true"

我的 jQuery:

$(document).ready(function () {
function fixedNav() {
if ($(window).scrollTop() > 150) {
$('#navigation').addClass('fixedNav');
$('#mainContent').addClass('pushedMainContent');
}
else {
$('#navigation').removeClass('fixedNav');
$('#mainContent').removeClass('pushedMainContent');
}
}
function isPostBack() {
fixedNav();
}
$(window).scroll(function () {
fixedNav();
})
})

我已经检查这个函数一个小时了,但似乎找不到解决办法。 (我什至向 isPostBack 添加了相同的函数,但这没有帮助)感谢任何帮助/建议。

修复:(谢谢@charlietfl)

<script>see "My jQuery"</script>
<body onload="fixedNav()">

最佳答案

问题是这个

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

创建一个在有人滚动时调用的函数,但当页面重新加载时,没有人在滚动。 而且,如果我没记错的话,页面将加载标记中的类,而不是上次应用的类。

因此您必须手动调用 fixedNav() 来重新应用新类。

<小时/>

我认为这与您的问题无关,但请搜索“document.ready vs onload”以获取 b/t ready 和 onload 差异的答案。 (如果您想比较两个事物,请在谷歌搜索时始终使用 vs

这是一个这样的答案: ready vs onload

关于javascript - JQuery 滚动事件在回发后不会立即触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51751448/

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