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 相关文章推荐
JS解密入门 最终变量劫持
Jun 25 Javascript
基于jQuery的仿flash的广告轮播代码
Nov 04 Javascript
jQuery制作简洁的多级联动Select下拉框
Dec 23 Javascript
jQuery中:lt选择器用法实例
Dec 29 Javascript
Bootstrap Table从服务器加载数据进行显示的实现方法
Sep 29 Javascript
AngularJS入门教程一:路由用法初探
May 27 Javascript
JavaScript使用FileReader实现图片上传预览效果
Mar 27 Javascript
vue cli升级webapck4总结
Apr 04 Javascript
js技巧之十几行的代码实现vue.watch代码
Jun 09 Javascript
对VUE中的对象添加属性
Sep 18 Javascript
详解Angular Karma测试的持续集成实践
Nov 15 Javascript
JS前端监控采集用户行为的N种姿势
Jul 23 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
用文本文件制作留言板提示(上)
2006/10/09 PHP
PHP及Zend Engine的线程安全模型分析
2011/11/10 PHP
单点登录 Ucenter示例分析
2013/10/29 PHP
php批量转换文件夹下所有文件编码的函数类
2017/08/06 PHP
Javascript 判断是否存在函数的方法
2013/01/03 Javascript
JS 屏蔽按键效果与改变按键效果的示例代码
2013/12/24 Javascript
jQuery多级手风琴菜单实例讲解
2015/10/22 Javascript
JS清除字符串中重复值的实现方法
2016/08/03 Javascript
JQuery遍历元素的父辈和祖先的方法
2016/09/18 Javascript
微信小程序 购物车简单实例
2016/10/24 Javascript
jQuery图片加载显示loading效果
2016/11/04 Javascript
JS实现隔行换色的表格排序
2017/03/27 Javascript
微信小程序 同步请求授权的详解
2017/08/04 Javascript
vue 插值 v-once,v-text, v-html详解
2018/01/19 Javascript
微信小程序radio组件使用详解
2018/01/31 Javascript
菊花转动的jquery加载动画效果
2018/08/19 jQuery
vue使用v-if v-show页面闪烁,div闪现的解决方法
2018/10/12 Javascript
vue 对象添加或删除成员时无法实时更新的解决方法
2019/05/01 Javascript
js实现百度登录窗口拖拽效果
2020/03/19 Javascript
Vant 中的Toast设置全局的延迟时间操作
2020/11/04 Javascript
浅谈JSON5解决了JSON的两大痛点
2020/12/14 Javascript
python使用pyhook监控键盘并实现切换歌曲的功能
2014/07/18 Python
尝试用最短的Python代码来实现服务器和代理服务器
2016/06/23 Python
浅谈Python基础之I/O模型
2017/05/11 Python
Python基于numpy灵活定义神经网络结构的方法
2017/08/19 Python
Python基于列表模拟堆栈和队列功能示例
2018/01/05 Python
Python实现判断一行代码是否为注释的方法
2018/05/23 Python
python config文件的读写操作示例
2019/09/27 Python
PyTorch中model.zero_grad()和optimizer.zero_grad()用法
2020/06/24 Python
Python持续监听文件变化代码实例
2020/07/22 Python
利用CSS3把图片变成灰色模式的实例代码
2016/09/06 HTML / CSS
HTML5中通过li-canvas轻松实现单图、多图、圆角图绘制,单行文字、多行文字等
2018/11/30 HTML / CSS
MATCHESFASHION.COM法国官网:英国奢侈品零售商
2018/01/04 全球购物
励志演讲稿200字
2014/08/21 职场文书
2014矛盾纠纷排查调处工作总结
2014/12/09 职场文书
python 实现mysql自动增删分区的方法
2021/04/01 Python