javascript滚轮控制模拟滚动条


Posted in Javascript onOctober 19, 2016

此实例通过对滚轮事件的监听,通过滚轮控制滚动条的上下移动,可以将其修改后运用与使用滚轮缩放图片、改变透明度等特效。

<!DOCTYPE html> 
<html> 
 <head> 
  <meta charset="UTF-8"> 
  <title></title> 
  <style type="text/css"> 
   *{ 
    margin: 0; 
    padding: 0; 
   } 
   #boxwrap{ 
    position: relative; 
    width: 15px; 
    height: 500px; 
    margin: 50px auto; 
    box-sizing: border-box; 
    border: 1px solid gainsboro; 
    border-radius: 6px; 
   } 
   #box{ 
    position: absolute; 
    left: 0px; 
    top: 0px; 
    width: 13px; 
    height: 30px; 
    background: gray; 
    border-radius: 6px; 
   } 
  </style> 
  <script type="text/javascript"> 
   window.onload = function (){ 
    var boxwrp = document.getElementById('boxwrap'); 
    var box = document.getElementById('box'); 
    //兼容firefox 
    if(boxwrp.addEventListener){ 
     document.addEventListener("DOMMouseScroll", fn, false); 
    } 
    document.onmousewheel = fn;//兼容IE、chrome 
     
    function fn(ev){ 
     var ev = ev||event; 
     var bool = false; 
     //IE、chrome 向上:120,向下:-120 
     if(ev.wheelDelta){ 
      bool= ev.wheelDelta > 0? true : false; 
     } 
     //firefox 向上:-3,向下:3 
     else{ 
      bool= ev.detail < 0? true : false; 
     } 
      
     if(bool){ 
      if(box.offsetTop>=10){ 
       box.style.top = box.offsetTop - 10 + "px"; 
      } 
      else{ 
       box.style.top = 0; 
      } 
       
     } 
     else{ 
      if(box.offsetTop<=boxwrp.offsetHeight-box.offsetHeight-10){ 
       box.style.top = box.offsetTop + 10 + "px"; 
      } 
      else{ 
       box.style.top = boxwrp.offsetHeight - box.offsetHeight + "px"; 
      } 
     } 
    } 
   } 
  </script> 
 </head> 
 <body> 
  <div id="boxwrap"> 
   <div id="box"></div> 
  </div> 
 </body> 
</html>

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

Javascript 相关文章推荐
JScript中的条件注释详解
Apr 24 Javascript
JavaScript实现的圆形浮动标签云效果实例
Aug 06 Javascript
javascript设计简单的秒表计时器
Sep 05 Javascript
Javascript删除指定元素节点的方法
Jun 21 Javascript
javascript鼠标滑过显示二级菜单特效
Nov 18 Javascript
如何正确理解javascript的模块化
Mar 02 Javascript
通过vue-cli3构建一个SSR应用程序的方法
Sep 13 Javascript
ES6基础之 Promise 对象用法实例详解
Aug 22 Javascript
解决layui的input独占一行的问题
Sep 10 Javascript
JS实现星星海特效
Dec 24 Javascript
react实现移动端下拉菜单的示例代码
Jan 16 Javascript
JS hasOwnProperty()方法检测一个属性是否是对象的自有属性的方法
Jan 29 Javascript
Vue.js绑定HTML class数组语法错误的原因分析
Oct 19 #Javascript
微信小程序 教程之wxapp视图容器 swiper
Oct 19 #Javascript
微信小程序 教程之wxapp视图容器 scroll-view
Oct 19 #Javascript
微信小程序 教程之wxapp 视图容器 view
Oct 19 #Javascript
jQuery插件ajaxFileUpload使用实例解析
Oct 19 #Javascript
使用Angular.js开发的注意事项
Oct 19 #Javascript
js表单登陆验证示例
Oct 19 #Javascript
You might like
phpwind中的数据库操作类
2007/01/02 PHP
PHP form 表单传参明细研究
2009/07/17 PHP
基于PHP选项与信息函数的使用详解
2013/05/10 PHP
解析Extjs与php数据交互(增删查改)
2013/06/25 PHP
PHP取二进制文件头快速判断文件类型的实现代码
2013/08/05 PHP
PHP打开和关闭文件操作函数总结
2014/11/18 PHP
PHP进行批量任务处理不超时的解决方法
2016/07/11 PHP
PHP实现对图片的反色处理功能【测试可用】
2018/02/01 PHP
Google 静态地图API实现代码
2010/11/19 Javascript
Javascript开发之三数组对象实例介绍
2012/11/12 Javascript
点击显示指定元素隐藏其他同辈元素的方法
2014/02/19 Javascript
jquery实现图片按比例缩放示例
2014/07/01 Javascript
js创建对象的方法汇总
2016/01/07 Javascript
JS中call/apply、arguments、undefined/null方法详解
2016/02/15 Javascript
关于JavaScript和jQuery的类型判断详解
2016/10/08 Javascript
解决vue-cli创建项目的loader问题
2018/03/13 Javascript
Vue 页面状态保持页面间数据传输的一种方法(推荐)
2018/11/01 Javascript
微信小程序列表中item左滑删除功能
2018/11/07 Javascript
JavaScript中this用法学习笔记
2019/03/17 Javascript
nodejs微信开发之自动回复的实现
2019/03/17 NodeJs
从零到一详聊创建Vue工程及遇到的常见问题
2019/04/25 Javascript
vue Treeselect 树形下拉框:获取选中节点的ids和lables操作
2020/08/15 Javascript
Python中DJANGO简单测试实例
2015/05/11 Python
Python教程之全局变量用法
2016/06/27 Python
python爬虫基本知识
2018/03/05 Python
pyqt远程批量执行Linux命令程序的方法
2019/02/14 Python
python文件转为exe文件的方法及用法详解
2019/07/08 Python
python计算auc的方法
2020/09/09 Python
Django跨域请求原理及实现代码
2020/11/14 Python
如何利用Python写个坦克大战
2020/11/18 Python
医学检验专业个人求职信范文
2013/12/04 职场文书
计算机网络工程专业职业生涯规划书
2014/03/10 职场文书
中专毕业生的自荐书
2014/07/01 职场文书
第一书记观后感
2015/06/08 职场文书
在职证明范本
2015/06/15 职场文书
python中if和elif的区别介绍
2021/11/07 Python