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 相关文章推荐
node.js中的fs.read方法使用说明
Dec 17 Javascript
jQuery实现的支持IE的html滑动条
Mar 16 Javascript
一看就懂:jsonp详解
Jun 01 Javascript
数据分析软件之FineReport教程:[5]参数界面JS(全)
Aug 13 Javascript
javascript显示倒计时控制按钮的简单实现
Jun 07 Javascript
jQuery图片左右滚动代码 有左右按钮实例
Jun 20 Javascript
浅谈js的html元素的父节点,子节点
Aug 06 Javascript
js滚轮事件兼容性问题需要注意哪些
Nov 15 Javascript
JS禁止浏览器右键查看元素或按F12审查元素自动关闭页面示例代码
Sep 07 Javascript
nuxt.js中间件实现拦截权限判断的方法
Nov 21 Javascript
Jquery的Ajax技术使用方法
Jan 21 jQuery
在vue中使用jsonp进行跨域请求接口操作
Oct 29 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
PHP获取用户访问IP地址的5种方法
2016/05/16 PHP
jquery Firefox3.5中操作select的问题
2009/07/10 Javascript
javascript getElementsByClassName实现代码
2010/10/11 Javascript
JavaScript高级程序设计(第3版)学习笔记9 js函数(下)
2012/10/11 Javascript
Extjs4中的分页应用结合前后台
2013/12/13 Javascript
JavaScript将数据转换成整数的方法
2014/01/04 Javascript
JavaScript变量的作用域全解析
2015/08/14 Javascript
浅析JavaScript中浏览器的兼容问题
2016/04/19 Javascript
基于javascript数组实现图片轮播
2016/05/02 Javascript
AngularJs上传前预览图片的实例代码
2017/01/20 Javascript
详谈js中数组(array)和对象(object)的区别
2017/02/27 Javascript
JS实现图片手风琴效果
2020/04/17 Javascript
JS获取字符对应的ASCII码实例
2017/09/10 Javascript
JS库 Highlightjs 添加代码行号的实现代码
2017/09/13 Javascript
Angular2仿照微信UI实现9张图片上传和预览的示例代码
2017/10/19 Javascript
详解vue+css3做交互特效的方法
2017/11/20 Javascript
Node.Js中实现端口重用原理详解
2018/05/03 Javascript
JavaScript使用prototype原型实现的封装继承多态示例
2018/08/31 Javascript
JavaScript多种图形实现代码实例
2020/06/28 Javascript
Python使用sorted排序的方法小结
2017/07/28 Python
Python处理菜单消息操作示例【基于win32ui模块】
2018/05/09 Python
详解Python 爬取13个旅游城市,告诉你五一大家最爱去哪玩?
2019/05/07 Python
详解PyCharm安装MicroPython插件的教程
2019/06/24 Python
Python CVXOPT模块安装及使用解析
2019/08/01 Python
解决pycharm导入本地py文件时,模块下方出现红色波浪线的问题
2020/06/01 Python
德国帽子专家:Hutshopping
2019/11/03 全球购物
英语专业个人求职自荐信
2013/09/21 职场文书
审计工作个人的自我评价
2013/12/25 职场文书
电子商务专业应届生求职信
2014/05/28 职场文书
2014年司法局工作总结
2014/12/11 职场文书
2015年社区创卫工作总结
2015/04/21 职场文书
仰望星空观后感
2015/06/10 职场文书
《黄道婆》教学反思
2016/02/22 职场文书
幼儿园教学反思范文
2016/03/02 职场文书
python函数指定默认值的实例讲解
2021/03/29 Python
Win11怎么启动任务管理器?Win11启动任务管理器的几种方法
2021/11/23 数码科技