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();
}
});