我正在创建一个函数,我在其顶部添加了if语句。我想在用户滚动时更改变量值。如果用户滚动if语句检查变量值并运行if语句
中的函数var usrscrolled = 'notscroll';
function scrolled() {
//do by scroll start
usrscrolled = 'scroll';
}
$(window).on('scroll', scrolled);
if (usrscrolled = 'notscroll') {
}
此代码有效,但onscroll变量不会更改,if语句在滚动
上运行答案 0 :(得分:1)
=
用于分配值,比较您需要使用==
,所以更改
if (usrscrolled = 'notscroll') {
到
if (usrscrolled == 'notscroll') {
答案 1 :(得分:0)
我认为你错过了在滚动之后if
语句没有运行:
// Unnecessary if; usrscrolled will always be 'notscroll' here
// This does _not_ run on scroll
if (usrscrolled === 'notscroll') {
}
如果你想要,你需要将它包装在on
处理程序中,例如:
function scrolled() {
if (usrscrolled === 'notscroll') {
// Do something before the variable is set to 'scroll'
// I.e. first time user scrolls
}
usrscrolled = 'scroll';
}
$(window).on('scroll', scrolled);
答案 2 :(得分:0)
我添加了此代码
var delay = 1000;
var timeout = null;
$(window).bind('scroll', function() {
clearTimeout(timeout);
timeout = setTimeout(function() {
usrscrolled = 'notscroll';
}, delay);
});
当用户停止滚动时,它会在1秒后更改变量值。它适用于我