jquery 鼠标滚轮事件 插件 Mousewheel
jquery插件默认是不支持鼠标中轮滚轮事件的,现在我们可以用于添加跨浏览器的鼠标滚轮支持可以使用jquery的Mousewheel插件。
- $(‘div.mousewheel_example‘).mousewheel(fn);
- $(‘div.mousewheel_example‘).bind(‘mousewheel‘, fn);
- jQuery(function($) {
- $(‘div.mousewheel_example‘)
- .bind(‘mousewheel‘, function(event, delta) {
- var dir = delta > 0 ? ‘Up‘ : ‘Down‘,
- vel = Math.abs(delta);
- $(this).text(dir + ‘ at a velocity of ‘ + vel);
- return false;
- });
- });
- // 绑定方式
- $(‘#my_elem‘).bind(‘mousewheel‘, function(event, delta) {
- console.log(delta);
- });
- // 事件函数方式
- $(‘#my_elem‘).mousewheel(function(event, delta) {
- console.log(delta);
- });
在发生滚轮滚动事件时,如果要设置屏幕滚动高度,就应该使用animate运动设置 scrollTop 来做。直接设置 window 的scrollTop不能达到效果。总会会出多点来。
-
$(window).on(‘mousewheel‘, function(event, delta) { //var direction = delta > 0 ? ‘Up‘ : ‘Down‘; var step = $(window).height(); //可视区高度 var cur_top = $(window).scrollTop(); //当前滚过的高度 var direction = delta > 0 ? -1 : 1; var height = direction * step + cur_top; var x_height = Math.floor(height/step)*step; //滚过整数倍的可视区大小 $("html, body").stop().animate({ scrollTop: x_height }, 400); return false; });
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。