gpt4 book ai didi

javascript - 无法访问 jQuery 事件处理程序内的全局变量

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

我使用以下代码来跟踪滚动,我想将选定的元素变量放在事件处理程序之外,这样每次用户滚动时就不会调用它们,从而节省资源。仅当我将前两个变量放入事件处理程序中时,以下内容才有效:

    var recommend_con_list=$(".recommend_con_list")
var recommend_con=$('.recommend_con')
$(window).scroll(function () {

var y=$(window).scrollTop()
if(y > 82){
recommend_con.css({position:"fixed",top:"0"})
}else{
recommend_con.css({position:"",top:""})
}
});

最佳答案

如果你想进一步优化,我会使用这个:

$(document).ready(function () {
var recommend_con_list = $(".recommend_con_list").get(),
recommend_con = $('.recommend_con').get(),
$window = $(window);

$window.scroll(function () {
var y = $window.scrollTop();
if (y > 82) {
for (var i = 0, j = recommend_con.length; i < j; i++) {
recommend_con[i].classList.add("special");
}
} else {
for (var i = 0, j = recommend_con.length; i < j; i++) {
recommend_con[i].classList.remove("special");
}
}
});
});

使用这个CSS:

<style type="text/css">
.special {
position: fixed;
top: 0;
}
</style>

关于javascript - 无法访问 jQuery 事件处理程序内的全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16454425/

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