jquery mousewheel

<script type="text/javascript" src="http://code.jquery.com/jquery-1.7.1.min.js"></script>
<script type="text/javascript">
(function($) {

var types = [‘DOMMouseScroll‘, ‘mousewheel‘];

$.event.special.mousewheel = {
    setup: function() {
        if ( this.addEventListener ) {
            for ( var i=types.length; i; ) {
                this.addEventListener( types[--i], handler, false );
            }
        } else {
            this.onmousewheel = handler;
        }
    },

    teardown: function() {
        if ( this.removeEventListener ) {
            for ( var i=types.length; i; ) {
                this.removeEventListener( types[--i], handler, false );
            }
        } else {
            this.onmousewheel = null;
        }
    }
};

$.fn.extend({
    mousewheel: function(fn) {
        return fn ? this.bind("mousewheel", fn) : this.trigger("mousewheel");
    },

    unmousewheel: function(fn) {
        return this.unbind("mousewheel", fn);
    }
});

function handler(event) {
    var orgEvent = event || window.event, args = [].slice.call( arguments, 1 ), delta = 0, returnValue = true, deltaX = 0, deltaY = 0;
    event = $.event.fix(orgEvent);
    event.type = "mousewheel";

    // Old school scrollwheel delta
    if ( event.wheelDelta ) { delta = event.wheelDelta/120; }
    if ( event.detail     ) { delta = -event.detail/3; }

    // New school multidimensional scroll (touchpads) deltas
    deltaY = delta;

    // Gecko
    if ( orgEvent.axis !== undefined && orgEvent.axis === orgEvent.HORIZONTAL_AXIS ) {
        deltaY = 0;
        deltaX = -1*delta;
    }

    // Webkit
    if ( orgEvent.wheelDeltaY !== undefined ) { deltaY = orgEvent.wheelDeltaY/120; }
    if ( orgEvent.wheelDeltaX !== undefined ) { deltaX = -1*orgEvent.wheelDeltaX/120; }

    // Add event and delta to the front of the arguments
    args.unshift(event, delta, deltaX, deltaY);

    return $.event.handle.apply(this, args);
}

})(jQuery);
$(function(){

    $(‘#dv‘).mousewheel(function(){alert(123)});

})
</script>
<div style="height:1000px" id="dv">123</div>
时间: 2024-10-15 10:43:35

jquery mousewheel的相关文章

鼠标滚轮插件jQuery mousewheel

delta的值是负的即-1,那么滚轮就是向下滚动,正的1就是向上. 插件方法: 1.为了监听滚轮事件,该插件引入了mousewheel事件,所以我们可以监听元素的mousewheel事件 2.该插件还提供了元素快捷方法mousewheel和unmousewheel用于监听和去掉元素对鼠标滚轮事件支持 $(document) .mousewheel(function(event, delta) { loghandle(event, delta); }); //页面中滚动 $('#test6')  

jquery实现整屏翻屏效果:jquery.mousewheel(一)

实现整屏上下翻效果:需加载的js <script type="text/javascript" src="js/jquery-1.8.3.min.js"></script> <script type="text/javascript" src="js/jquery.mousewheel.js"></script> css样式如下: body{padding:0;margin:0;

jQuery 鼠标滚轮插件 jquery.mousewheel.js

jQuery Mousewheel Plugin,用于添加跨浏览器的鼠标滚轮支持.mousewheel事件的处理函数有一点小小的变化,它除了第一个参数event 外,还接收到第二个参数delta.通过参数delta可以获取鼠标滚轮的方向和速度.如果delta的值是负的即-1,那么滚轮就是向下滚动,正的1就是向上. 官方网址: https://github.com/brandonaaron/jquery-mousewheel 插件方法: 1.为了监听滚轮事件,该插件引入了mousewheel事件,

jQuery时间轴插件:jQuery Timelinr

前言 这是一款可用于展示历史和计划的时间轴插件,尤其比较适合一些网站展示发展历程.大事件等场景.该插件基于jQuery,可以滑动切换.水平和垂直滚动.支持键盘方向键.经过扩展后可以支持鼠标滚轮事件. HTML 我们在body中建立一个div#timeline作为展示区,#dates为时间轴,示例中我们用年份作为主轴,#issues作为内容展示区,即展示对应主轴点年份的内容,注意id对应上. <div id="timeline"> <ul id="dates&

Jquery实现的几款漂亮的时间轴

引言 最近项目中使用了很多前端的东西,对于我一个做后台开发的人员,这是一个很好的锻炼的机会.经过这段时间的学习,感觉前端的东西太多了,太强大了,做出来的东西太炫酷了.现在有很多开源的前端框架,做的都非常的漂亮,h5发展了这么多年了,改变了互联网行业啊!下面给大家介绍几款漂亮的时间轴,也许大家以后工作中会用到. 一.纵向折叠时间轴 1.js文件(jQuery.js或者jQuery.min.js) 2.CSS文件   3.HTML代码   4.运行效果: 二.纵向鼠标滑动时间轴 1.js文件(jqu

241个jquery插件—jquery插件大全

jQuery由美国人John Resig创建,至今已吸引了来自世界各地的众多javascript高手加入其team. jQuery是继prototype之后又一个优秀的Javascrīpt框架.其经典的Slogan是“Write Less, Do more”(写更少的代码,做更多的事情).jQuery是轻量级的js库(压缩后只有21k) ,这是其它的js库所不及的,它兼容CSS3,还兼容各种浏览器 (IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.0+). jQue

[转载]jQuery 图表插件 jqChart 使用

jQuery 图表插件 jqChart显示效果效果非常好.支持以下几种图表: Area Bar Bubble Column Financial Chart - Candlestick Financial Chart - Stock Line Pie Radar Area Radar Line Radar Spline Area Radar Spline Scatter Spline Area Spline Stacked Column Stacked Bar 可见支持的种类非常之多.在这里我们使

经典海量jQuery插件

海量的jQuery插件帖,很经典,不知道什么时候开始流传,很早以前就收藏过,为了工作方便还是发了一份放在日志里面. 其中有些已经无法访问,或许是文件移除,或许是被封锁.大家分享的东西,没什么特别的可说的,唯有感谢无私分享的人们. 猫嗔提醒大家在使用的时候注意jQuery包的版本问题,最好是使用相同的版本,因为使用了高版本很有可能出现或多或少的问题.并且其中英文插件在转换成中文时注意编码,推荐utf-8. jQuery插件-文件上传(File upload)Ajax File Upload.jQU

jquery美化滚动条插件jscrollpane应用(转)

原文地址:http://www.jqcool.net/jquery-jscrollpane.html jScrollPane是一个设计非常灵活的跨浏览器的jQuery ,它将浏览器的默认滚动条或是元素溢出时出现的滚动条映射成一个HTML结构,从而很容易地使用CSS来定义滚动的样式.下面来看下这个强大而灵活的jScrollPane的使用方法吧. 引入核心文件,为了更方便的使用,这里引入了mousewheel库 <!-- styles specific to demo site --> <l