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 相关文章推荐
JQUERY 实现窗口滚动搜索框停靠效果(类似滚动停靠)
Mar 27 Javascript
javascript几个易错点记录
Nov 26 Javascript
javascript发送短信验证码实现代码
Nov 12 Javascript
js事件冒泡与事件捕获详解
Feb 20 Javascript
jquery实现折叠菜单效果【推荐】
Mar 08 Javascript
Google 爬虫如何抓取 JavaScript 的内容
Apr 07 Javascript
vue实现消息的无缝滚动效果的示例代码
Dec 05 Javascript
vue 组件 全局注册和局部注册的实现
Feb 28 Javascript
vscode下vue项目中eslint的使用方法
Jan 13 Javascript
微信用户访问小程序的登录过程详解
Sep 20 Javascript
JS实现简单的表格增删
Jan 16 Javascript
在 Vue 中编写 SVG 图标组件的方法
Feb 24 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
php安全之直接用$获取值而不$_GET 字符转义
2012/06/03 PHP
PHP闭包(Closure)使用详解
2013/05/02 PHP
PHP实现通过URL提取根域名
2016/03/31 PHP
Thinkphp结合AJAX长轮询实现PC与APP推送详解
2017/07/31 PHP
javascript获取当前ip的代码
2009/05/10 Javascript
jQuery html()等方法介绍
2009/11/18 Javascript
起点页面传值js,有空研究学习下
2010/01/25 Javascript
javascript中类的定义及其方式(《javascript高级程序设计》学习笔记)
2011/07/04 Javascript
intro.js 页面引导简单用法 分享
2013/08/06 Javascript
给js文件传参数(详解)
2014/07/13 Javascript
jQuery实现类似淘宝网图片放大效果的方法
2015/07/08 Javascript
JavaScript的History API使搜索引擎抓取AJAX内容
2015/12/07 Javascript
浅谈Javascript数据属性与访问器属性
2016/07/26 Javascript
JavaScript中object和Object的区别(详解)
2017/02/27 Javascript
AngularJS  ng-repeat遍历输出的用法
2017/06/19 Javascript
详解vue.js之绑定class和style的示例代码
2017/08/24 Javascript
vue中使用elementUI组件手动上传图片功能
2019/12/13 Javascript
[06:24]DOTA2亚洲邀请赛小组赛第三日 TOP10精彩集锦
2015/02/01 DOTA
Python的socket模块源码中的一些实现要点分析
2016/06/06 Python
python实现控制电脑鼠标和键盘,登录QQ的方法示例
2019/07/06 Python
PyTorch中的padding(边缘填充)操作方式
2020/01/03 Python
在Mac中PyCharm配置python Anaconda环境过程图解
2020/03/11 Python
Python爬取微信小程序Charles实现过程图解
2020/09/29 Python
纯CSS3实现Material Design效果
2017/03/09 HTML / CSS
使用canvas绘制超炫时钟
2014/12/17 HTML / CSS
银行实习人员自我鉴定
2013/09/22 职场文书
小学教师培训方案
2014/06/09 职场文书
质量在我心中演讲稿
2014/09/02 职场文书
毕业设计论文评语
2014/12/31 职场文书
放假通知
2015/04/14 职场文书
领导新年致辞2016
2015/07/29 职场文书
廉政党课工作报告案例
2019/06/21 职场文书
一文带你探究MySQL中的NULL
2021/11/11 MySQL
Linux系统下MySQL配置主从分离的步骤
2022/03/21 MySQL
CSS子盒子水平和垂直居中的五种方法
2022/07/23 HTML / CSS