javascript滚轮事件基础实例讲解(37)


Posted in Javascript onFebruary 14, 2017

本文实例为大家分享了js滚轮事件的具体代码,供大家参考,具体内容如下

<html> 
  <head> 
    <meta charset="UTF-8"> 
    <title></title> 
    <style type="text/css"> 
      #box1{ 
        width: 100px; 
        height: 100px; 
        background-color: red; 
      } 
       
    </style> 
     
    <script type="text/javascript"> 
       
      window.onload = function(){ 
         
        //使div可以跟随鼠标滚轮滚动来改变高度 
        //滚轮向下滚,div变高 滚轮向上滚 div变短 
         
        //获取box1 
        var box1 = document.getElementById("box1"); 
         
        /* 
         * onmousewheel 
         * - 鼠标滚轮滚动的事件,但是该事件火狐浏览器并不支持 
         * - 在火狐中需要使用DOMMouseScroll,这个事件只能通过addEventListener()来绑定 
         */ 
        //为box1绑定一个鼠标滚轮滚动的事件 
        box1.onmousewheel = function(event){ 
          event = event || window.event; 
           
          //判断滚轮滚动的方向 
          /* 
           * wheelDelta 
           * - 事件对象中的属性,可以用来判断鼠标滚轮滚动的方向 
           * - 向下滚 -120 向上滚 +120 
           * - 该属性的值并不重要,重要的是值的符号,需要通过符号来判断滚动的方向 
           * - 但是该属性火狐浏览器并不支持 
           */ 
          //alert(event.wheelDelta); 
           
          /* 
           * 火狐中通过detail来判断方向 
           * - 向上滚 -3  向下滚 +3 
           */ 
          //alert(event.detail); 
           
          if(event.wheelDelta < 0 || event.detail > 0){ 
            //向下滚 
            //增加box1的高度 
            box1.style.height = box1.offsetHeight + 10 + "px"; 
             
          }else{ 
            //向上滚 
            //减小box1的高度 
            box1.style.height = box1.offsetHeight - 10 + "px"; 
          } 
           
           
          /* 
           * 使用addEventListener()绑定的事件,不能通过return false来取消默认行为 
           * 需要调用事件对象 preventDefault()方法来取消默认行为 
           * 但是在IE8中没有该方法 
           */ 
          event.preventDefault && event.preventDefault(); 
           
          //当页面中有滚动条时,由于滚轮滚动的默认行为会导致页面整体下移 
          //取消默认行为 
          return false; 
           
        }; 
         
        bind(box1 , "DOMMouseScroll" , box1.onmousewheel); 
         
         
      }; 
       
      function bind(obj , eventStr , callback){ 
         
        if(obj.addEventListener){ 
          //如果是正常浏览器 
          obj.addEventListener(eventStr , callback , false); 
        }else{ 
          //IE8 
          obj.attachEvent("on"+eventStr , function(){ 
            callback.call(obj); 
          }); 
        } 
      } 
       
    </script> 
  </head> 
  <body style="height: 3000px;"> 
     
    <div id="box1"></div> 
     
     
  </body> 
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript 模式设计之工厂模式学习心得
Apr 27 Javascript
Javascript图像处理—虚拟边缘介绍及使用方法
Dec 27 Javascript
jQuery的选择器中的通配符使用介绍
Mar 20 Javascript
9款2014最热门jQuery实用特效推荐
Dec 07 Javascript
JQuery实现的购物车功能(可以减少或者添加商品并自动计算价格)
Jan 13 Javascript
JavaScript中的数据类型转换方法小结
Oct 26 Javascript
浅谈javascript中replace()方法
Nov 10 Javascript
在线引用最新jquery文件的实现方法
Aug 26 Javascript
js微信扫描二维码登录网站技术原理
Dec 01 Javascript
vue 实现 tomato timer(蕃茄钟)实例讲解
Jul 24 Javascript
vue中七牛插件使用的实例代码
Jul 28 Javascript
vue里的data要用return返回的原因浅析
May 28 Javascript
基于canvas的二维码邀请函生成插件
Feb 14 #Javascript
javascript事件的绑定基础实例讲解(34)
Feb 14 #Javascript
javascript深拷贝和浅拷贝详解
Feb 14 #Javascript
javascript事件的传播基础实例讲解(35)
Feb 14 #Javascript
微信小程序中实现一对多发消息详解及实例代码
Feb 14 #Javascript
有关JS中的0,null,undefined,[],{},'''''''',false之间的关系
Feb 14 #Javascript
js基于myFocus实现轮播图效果
Feb 14 #Javascript
You might like
一个程序下载的管理程序(三)
2006/10/09 PHP
浅析PHP页面局部刷新功能的实现小结
2013/06/21 PHP
php中数字、字符与对象判断函数用法实例
2014/11/26 PHP
PHP使用数组依次替换字符串中匹配项
2016/01/08 PHP
javascript实现动态CSS换肤技术的脚本
2007/06/29 Javascript
前淘宝前端开发工程师阿当的PPT中有JS技术理念问题
2010/01/15 Javascript
JavaScript DOM学习第六章 表单实例
2010/02/19 Javascript
Firebug入门指南(Firefox浏览器)
2010/08/21 Javascript
javascript高级学习笔记整理
2011/08/14 Javascript
jQuery实现公告文字左右滚动的实例代码
2013/10/29 Javascript
JsRender实用入门教程
2014/10/31 Javascript
浅析四种常见的Javascript声明循环变量的书写方式
2015/10/14 Javascript
详解AngularJS中module模块的导入导出
2015/12/10 Javascript
vue2.0 兄弟组件(平级)通讯的实现代码
2018/01/15 Javascript
关于vue的语法规则检测报错问题的解决
2018/05/21 Javascript
MockJs结合json-server模拟后台数据
2020/08/26 Javascript
详解Vue 换肤方案验证
2019/08/28 Javascript
基于javascript实现贪吃蛇经典小游戏
2020/04/10 Javascript
微信小程序实现电子签名并导出图片
2020/05/27 Javascript
修改Vue打包后的默认文件名操作
2020/08/12 Javascript
[01:32]dota2拉比克至宝(222)
2018/12/20 DOTA
Python实现批量更换指定目录下文件扩展名的方法
2016/09/19 Python
Python元组知识点总结
2019/02/18 Python
Python代码生成视频的缩略图的实例讲解
2019/12/22 Python
美国新蛋IT数码商城:Newegg.com
2016/07/21 全球购物
戴尔英国官网:Dell英国
2017/05/27 全球购物
牦牛毛户外探险服装:Kora
2019/02/08 全球购物
乌克兰最大的家用电器和电子产品连锁店:Eldorado
2019/10/02 全球购物
JS原生实现轮播图的几种方法
2021/03/23 Javascript
通信研究生自荐信
2014/02/01 职场文书
质量管理标语
2014/06/12 职场文书
本科应届生自荐信
2014/06/29 职场文书
普通党员自我剖析材料
2014/10/07 职场文书
2015年人事专员工作总结
2015/04/29 职场文书
Java反应式框架Reactor中的Mono和Flux
2021/07/25 Java/Android
Windows10安装Apache2.4的方法步骤
2022/06/25 Servers