Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/458.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在函数中启用滚动_Javascript_Jquery_Css - Fatal编程技术网

Javascript 在函数中启用滚动

Javascript 在函数中启用滚动,javascript,jquery,css,Javascript,Jquery,Css,当我使用scrollWheel时,我将currentSlide增加1,当currentSlide==2时,红色div将上升,我希望启用滚动到主体的功能。正如您所看到的,我的绑定函数正在返回false。我试着在上面加上条件,当currentSlide==2时返回true,但显然它不起作用 谁能告诉我怎么解决这个问题吗 var currentSlide = 0; function scrollDown() { console.log('Scroll Down', currentSlide)

当我使用
scrollWheel
时,我将
currentSlide
增加1,当
currentSlide==2
时,红色div将上升,我希望启用滚动到主体的功能。正如您所看到的,我的绑定函数正在返回
false
。我试着在上面加上条件,当
currentSlide==2
返回true
,但显然它不起作用

谁能告诉我怎么解决这个问题吗

var currentSlide = 0;

function scrollDown() {
    console.log('Scroll Down', currentSlide);      

  if(currentSlide < 3) {
    currentSlide += 1;                 
  }

  if(currentSlide === 3) {
    $('#el').addClass('hide');
  }
}
var-currentSlide=0;
函数scrollDown(){
console.log('向下滚动',当前幻灯片);
如果(当前幻灯片<3){
电流滑动+=1;
}
如果(当前幻灯片===3){
$('#el').addClass('hide');
}
}

从技术上讲,当
currentSlide
等于3而不是2时,您将隐藏元素

无论如何,而不是
返回false在绑定中,您将要执行
返回currentSlide>=3
这样,当红色div隐藏时,您现在可以滚动


另外,正如其他人指出的那样,使用
on
而不是
bind
,因为bind已被弃用。

我刚刚在最后一个函数中添加了
return true
,一切似乎都很好,请参见:

$(窗口).bind('DOMMouseScroll',函数(e){
如果(e.originalEvent.detail>0){
向下滚动();
}
返回false;
})
.bind('mousewheel',函数(e){
如果(e.originalEvent.wheelDelta<0){
向下滚动();
}
返回true;
});

我完全不确定您想做什么,因为您的问题和预期结果都不清楚

我做了如下代码

var currentSlide = 0;

    function scrollDown() {
        console.log('Scroll Down', currentSlide);      

      if(currentSlide < 10) {
        currentSlide += 1;                 
        return false;
      }

      if(currentSlide === 10) {
        $('#el').addClass('hide');
      }
    }


    $(window).on('DOMMouseScroll', function(e) {
            if (e.originalEvent.detail > 0) {
                return scrollDown();
            } 


        })
        .on('mousewheel', function(e) {

            if (e.originalEvent.wheelDelta < 0) {
                return scrollDown();
            }

        });
var-currentSlide=0;
函数scrollDown(){
console.log('向下滚动',当前幻灯片);
如果(当前幻灯片<10){
电流滑动+=1;
返回false;
}
如果(当前幻灯片===10){
$('#el').addClass('hide');
}
}
$(窗口).on('DOMMouseScroll',函数(e){
如果(e.originalEvent.detail>0){
返回scrollDown();
} 
})
.on('鼠标滚轮',功能(e){
如果(e.originalEvent.wheelDelta<0){
返回scrollDown();
}
});

通过使用on(您应该这样做),并让滚动条返回布尔值false(如果不适合),如果无事可做,则不返回任何内容。

不要使用bind。bind已被弃用。用在。浏览代码后的第一个注意事项。我如何只在每个.5s上滚动,我的意思是,如果滚动太多,我会以太快的速度滚动到10-例如:hugeinc.com在变量中保存新日期().getTime()。仅当(new Date().getTime()-previoustime>=50){previoustime=new Date().getTime();return scrollDown();}时执行

var currentSlide = 0;

    function scrollDown() {
        console.log('Scroll Down', currentSlide);      

      if(currentSlide < 10) {
        currentSlide += 1;                 
        return false;
      }

      if(currentSlide === 10) {
        $('#el').addClass('hide');
      }
    }


    $(window).on('DOMMouseScroll', function(e) {
            if (e.originalEvent.detail > 0) {
                return scrollDown();
            } 


        })
        .on('mousewheel', function(e) {

            if (e.originalEvent.wheelDelta < 0) {
                return scrollDown();
            }

        });