我的意思是滚动时会轻松。
var $pages = $(“.page”),
tot = $pages.length,
c = 0, pagePos = 0, down = 0, listen = true;
$('html, body').on('DOMMouseScroll mousewheel', function(e) {
e.preventDefault();
if(!listen)return;
listen = false;
down = e.originalEvent.detail > 0 || e.originalEvent.wheelDelta < 0;
c = Math.min(Math.max(0, down ? ++c : --c), tot-1);
pagePos = $pages.eq(c).offset().top;
$(this).stop().animate({scrollTop: pagePos}, 650, function(){
listen = true;
});
});
*{margin:0;}
.page{min-height:100vh;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="page" style="background:#0bf">PAGE 1</div>
<div class="page" style="background:#fb0">PAGE 2</div>
<div class="page" style="background:#0fb">PAGE 3</div>
<div class="page" style="background:#b0f">PAGE 4</div>
PS:
使用.position().top;
,如果你的.page
s为像一个滚动的DIV内$("#pagesParent")
(而不是$('html, body')
)
注意:
对于 移动设备, 您可能希望针对浏览器的标签栏高度调整值(最好还是完全避免这种情况)。你有主意
问题内容: 在鼠标滚轮上滚动它执行水平滚动。 已编辑 好吧,firebug说他在用 问题答案: 看来他只是将mousewheel事件映射到滚动区域。在IE中,仅通过使用方法就非常容易-滚动水平条的量为垂直条通常滚动的量。其他浏览器不支持该方法,因此您必须随心所欲地滚动任意数量:
本文向大家介绍js实现的鼠标滚轮滚动切换页面效果(类似360默认页面滚动切换效果),包括了js实现的鼠标滚轮滚动切换页面效果(类似360默认页面滚动切换效果)的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了js实现的鼠标滚轮滚动切换页面效果的方法。分享给大家供大家参考,具体如下: 运行效果截图如下: 具体代码如下: 更多关于jQuery特效相关内容感兴趣的读者可查看本站专题:《jQuery
我有一个JScrollPane,它的内容窗格是一个JXList。当我在列表上使用鼠标滚轮时,列表一次执行三(3)项。这也适用于表,无论行高如何。我如何改变这一点,使-无论平台-列表和表的滚动距离正好是1项?设置块增量不会削减它,因为表中的某些行具有不同的高度。
我想写个动画。比如说鼠标向上滚动,一个div往上运动。当我鼠标向下的时候,div往下运动。 有没有这种动画库?我以前的做法是判断滚动方向。然后分别执行不同的动画函数。当然了我的一个动画里面,肯定是包含好几个运动元素的。
问题内容: 我有一个JScrollPane,其内容窗格是JXList。当我在列表上使用鼠标滚轮时,该列表一次执行三(3)个项目。无论行高如何,这也适用于表格。我如何更改此设置,以便无论平台如何,列表和表格的滚动距离都仅为1?设置块增量不会削减它,因为表中的某些行具有不同的高度。 问题答案: 出于纯粹的兴趣(有点无聊),我创建了一个工作示例: 真正的魔力是在custom中完成的,我们每次都将当前的“
我的问题是: 我的解决方案是使用mousewheel/scroll事件处理程序来知道用户是否在移动,然后计算我是否在页面底部并隐藏或显示元素。。。 一切正常,但我有点担心 由于主线程正忙,“mousewheel”输入事件的处理延迟了123毫秒。将事件处理程序标记为“被动”以使页面更加响应。 这(我猜)是因为这个代码 跑太多次了。 那么,我怎样才能使这段代码更有效率呢 是否有办法在滚动后运行事件?