Javascript 仅对滚动执行一次触发功能
当用户向下滚动700px时,我需要触发scroll上的click事件。这是我的密码:Javascript 仅对滚动执行一次触发功能,javascript,jquery,Javascript,Jquery,当用户向下滚动700px时,我需要触发scroll上的click事件。这是我的密码: $(window).scroll(function(){ playVideo(); }); function playVideo() { var wScroll = $(window).scrollTop(); if (wScroll > 700) { $(".video a").trigger("click"); } } 问题是它会不确定地触发。我尝试
$(window).scroll(function(){
playVideo();
});
function playVideo() {
var wScroll = $(window).scrollTop();
if (wScroll > 700) {
$(".video a").trigger("click");
}
}
问题是它会不确定地触发。我尝试使用scroll来启用
one()
,但它只在scroll上使用一个,而我需要在触发器(“单击”)
上使用它。请帮助。只需在触发的位置解除绑定:
$(window).on("scroll", playVideo);
function playVideo() {
var wScroll = $(window).scrollTop();
if (wScroll > 700) {
$(".video a").trigger("click");
$(window).off("scroll", playVideo);
}
}
(请注意,您不需要在另一个函数中包装
playVideo
)只需在触发单击并使用:not()后将类设置为a
要在Selector中排除该选项,请删除下一票,因为当我尝试格式化代码时,该答案是错误提交的if(playVideo==true){playVideo();}
。猜猜那是什么意思true()
No它不是。如果playVideo==true
,则它不是一个函数,因此您无法执行playVideo()
。playVideo是一个布尔变量,最初设置为true,播放视频后为false。我希望它对您有意义
playVideoBoolean = true;
$(window).scroll(function(){
if (playVideoBoolean == true){
playVideo();
}
playVideoBoolean = false;
});
function playVideo() {
var wScroll = $(window).scrollTop();
if (wScroll > 700) {
$(".video a").trigger("click");
}
}