Javascript 停止事件并将变量设置为默认值

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

下面的问题。我有一个长长的滚动页面,如果每个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) {
        $(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一直在点火,所以这应该没问题,我稍后会测试:)