mousewheel and if statements jquery
mousewheel and if statements jquery
我想做的是,当你尝试向上或向下滚动时,它会调用一个函数来改变页面。我的身体有overflow:hidden
我使用jquery插件https://github.com/jquery/jquery-mousewheel'>mousewheel
这是我的代码:
$('#body').on('mousewheel', function(event) {
if( event.originalEvent.detail > 0 || event.originalEvent.wheelDelta < 0 ) {
//scroll down
if(document.getElementById('pgcount').innerHTML == 'Page 1') scrollDown(2);
if(document.getElementById('pgcount').innerHTML == 'Page 2') scrollDown(3);
if(document.getElementById('pgcount').innerHTML == 'Page 3') scrollDown(4);
if(document.getElementById('pgcount').innerHTML == 'Page 4') scrollDown(5);
} else {
//scroll up
if(document.getElementById('pgcount').innerHTML == 'Page 2') scrollUp(1);
if(document.getElementById('pgcount').innerHTML == 'Page 3') scrollUp(2);
if(document.getElementById('pgcount').innerHTML == 'Page 4') scrollUp(3);
if(document.getElementById('pgcount').innerHTML == 'Page 5') scrollUp(4);
}
//prevent page fom scrolling
return false;
});
由于某些原因,它可以在向上滚动时工作,但当你向下滚动时,它直接进入第5页(最后一个)。当我将console.log(document.getElementById('pgcount').innerHTML)
添加到每个if语句用于向下滚动时,它记录如下:
Page 1
Page 2
Page 3
Page 4
我不明白为什么它可以向上滚动而不能向下滚动。我知道被调用的函数(scrollDown)不是问题,因为它在从控制台调用时工作。
Thanks in advance
假设scrollDown()
函数改变了页面值,解决方案很清楚:
if(document.getElementById('pgcount').innerHTML == 'Page 1') scrollDown(2);
if(document.getElementById('pgcount').innerHTML == 'Page 2') scrollDown(3);
if(document.getElementById('pgcount').innerHTML == 'Page 3') scrollDown(4);
if(document.getElementById('pgcount').innerHTML == 'Page 4') scrollDown(5);
如果您在第1页,代码调用scrollDown(2)
,将您移动到第2页。然后代码立即检查您是否在第2页,如果是,则滚动到第3页。这个过程一直重复到第5页。
如果您明确地跟踪页面而不是查看页面文本,事情将会干净得多。然而,最简单的方法就是添加else
:
if(document.getElementById('pgcount').innerHTML == 'Page 1') scrollDown(2);
else if(document.getElementById('pgcount').innerHTML == 'Page 2') scrollDown(3);
else if(document.getElementById('pgcount').innerHTML == 'Page 3') scrollDown(4);
else if(document.getElementById('pgcount').innerHTML == 'Page 4') scrollDown(5);
相关文章:
- 无法从 jQuery RSS Feed 中的 localStorage 动态替换类
- 如何使用jQuery自动打开页面上的所有链接
- 如何使用jquery在填充自动完成的值后使文本框只读
- jQuery:循环一个具有不同超时值的循环
- 用程序搜索JQuery数据表中的文本
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- jQuery匹配JSON对象的部分文本
- Jquery POST未填充数组
- JQuery使计数器每次更改时都会增加
- 如何在Angular2中使用jQuery插件
- 提高JQuery的性能
- 无法在通过jQuery的ajax加载的页面中执行javascript
- JQuery合并了keyup和focusout两个函数
- 如何使用jQuery选择下拉列表的值
- 将PHP变量传递给jQuery时遇到问题
- jQuery UI自动完成突然停止工作
- 剑道网格jQuery动画()问题
- Jquery if statements
- jQuery if else statements and data()
- mousewheel and if statements jquery