gpt4 book ai didi

javascript - onscroll 事件仅执行一次

转载 作者:行者123 更新时间:2023-11-28 19:10:34 28 4
gpt4 key购买 nike

我使用此代码在滚动时获取页面中元素的偏移量,但滚动函数仅执行一次并提醒 viewportWidth,然后它停止在“off”变量处

这是原始脚本中的一个简单示例,它不仅仅是将 #menuIcon 设置为始终固定

$(document).ready(function(){
document.body.style.overflow = "hidden";
var viewportWidth = $(window).innerWidth();
document.body.style.overflow = "";
window.onscroll = scrolls(viewportWidth);
});

function scrolls(viewportWidth){
alert(viewportWidth);
if(viewportWidth>100 && viewportWidth<=820){
alert('test');
var w = $(window);
var offset = $("#menuIcon").offset();
var off = offset.top-w.scrollTop();
if(off<='10'){
$("#menuIcon").css({"position":"fixed","top":"20px"});
}
}
}

jsfiddle

最佳答案

问题是 onscroll 被分配了运行 scrolls(viewportWidth) 的结果,但你真正想要的是给 onscroll 一个函数运行。如果您想传递 viewportWidth,您可以这样做:

window.onscroll = function() {
scrolls(viewportWidth);
};

您更新的 JSFiddle:https://jsfiddle.net/n8vms2js/6/

关于javascript - onscroll 事件仅执行一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30791114/

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