Javascript 停止事件并将变量设置为默认值
下面的问题。我有一个长长的滚动页面,如果每个div在inview.js的视口中,它会向每个div添加类Javascript 停止事件并将变量设置为默认值,javascript,jquery,html,Javascript,Jquery,Html,下面的问题。我有一个长长的滚动页面,如果每个div在inview.js的视口中,它会向每个div添加类 var $div1 = $('#div1'); var $div2 = $('#div2'); //..... var only_once = 0; $('#div1, #div2, #div3, #div4, #div5').bind('inview', function (event, visible) { if (visible == true) { $(th
var $div1 = $('#div1');
var $div2 = $('#div2');
//.....
var only_once = 0;
$('#div1, #div2, #div3, #div4, #div5').bind('inview', function (event, visible)
{
if (visible == true) {
$(this).addClass("inview");
} else {
$(this).removeClass("inview");
}
});
当它添加类时,我正在执行一些事件和if条件,如果第一次触发inview,然后停止,则应该发生一些事情。我试过只把_换成1
if($div1.hasClass("inview")){
// here some functions...
if (only_once == 0) {
$('.float-second').css('left', 0);
$('.float-second').css('top', 0);
only_once = 1;
}
if($div2.hasClass("inview")){
// here some functions...
if (only_once == 1) {
$('.float-third').css('left', 0);
$('.float-third').css('top', 0);
only_once = 2;
}
// and this for the other divs too
问题是,当我这样做的时候,当站点在中间或底部加载,并且im向上或向下滚动时,它不会启动,因为if条件需要第一个事件,因为它之前的值。
希望你明白我的意思,我怎样才能做好这项工作?我想我理解你的问题。您可以使用以下方法检查页面的滚动程度:
$(document).scrollTop();
如果它大于某个值,您决定可以调用需要调用的函数,否则如果它加载在页面顶部,您的插件将为您做到这一点。有趣的是,您是否愿意告诉我怎么做?我的意思是我不是那么喜欢jquery。。。稍微靠近一点就好了!比如
$(文档)代码>?它类似于:if($(document).scrollTop()>300){…}。等等,是inview.js没有点火的问题吗?不是的,问题是,inview一直在点火,所以这应该没问题,我稍后会测试:)