JS自定义滚动条效果简单实现代码


Posted in Javascript onOctober 27, 2020

本文实例为大家分享了JS自定义滚动条效果的具体代码,供大家参考,具体内容如下

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>自定义滚动条</title>
<style type="text/css">
#div1 {
 width: 20px;
 height: 400px;
 position: relative;
 background: black;
 margin: 5px auto;
 left: 200px;
}
 
#div2 {
 width: 20px;
 height: 20px;
 position: absolute;
 background: green;
}
 
#div3 {
 width: 300px;
 height: 300px;
 position: relative;
 overflow: hidden;
 top: -320px;
 border: 1px solid black;
 background-color:green;
}
 
#div4 {
 position: absolute;
 left: 0;
 top: -20px;
 padding: 4px;
}
</style>
<script type="text/javascript">
 window.onload = function() {
 var oDiv = document.getElementById('div1');
 var oDiv2 = document.getElementById('div2');
 var oDiv3 = document.getElementById('div3');
 var oDiv4 = document.getElementById('div4');
 var disY = 0;
 oDiv.onmousedown = function(ev) {
  var oEvent = ev || event;
  //Div距离 ClientX-Left
  disY = oEvent.clientY - oDiv2.offsetTop;
  if (oDiv2.setCapture) {
  //IE
  oDiv2.onmousemove = function(ev) {
   var oEvent = ev || event;
   var y = oEvent.clientY - disY;
   //下拉
   var scale = y / (oDiv.offsetHeight - oDiv2.offsetHeight);
   // document.title =scale;
   //磁铁吸附
   if (scale < 0) {
   scale = 0;
   } else if (scale > 1) {
   scale = 1;
   }
   if (y < 0) {
   y = 0;
   } else if (y > oDiv.offsetHeight - oDiv2.offsetHeight) {
   y = oDiv.offsetHeight - oDiv2.offsetHeight;
   }
   oDiv2.style.top = y + 'px';
   oDiv4.style.top = -(oDiv4.offsetHeight - oDiv3.offsetHeight)
    * scale + 'px';
 
  };
  oDiv2.onmouseup = function() {
   oDiv2.onmousemove = null;
   oDiv2.onmouseup = null;
 
   oDiv2.releaseCapture();
  };
 
  oDiv2.setCapture();
  } else {
  //Chrome FF
  oDiv2.onmousemove = function(ev) {
   var oEvent = ev || event;
   var y = oEvent.clientY - disY;
   if (y < 0) {
   y = 0;
   } else if (y > Div2.offsetHeight - oDiv.offsetHeight) {
   y = Div2.offsetHeight - oDiv.offsetHeight;
   }
   oDiv2.style.top = y + 'px';
  };
  document.onmouseup = function() {
   document.onmousemove = null;
   document.onmouseup = null;
 
  };
 
  }
  //阻止浏览器的默认拖拽
  return false;
 };
 
 };
</script>
</head>
<body>
 <div id="div1" title="我是素材">
 <div id="div2" title="我是下拉线"></div>
 </div>
 <div id="div3" title="我是下拉框">
 <div id="div4">来自意大利时尚之都米兰的地标建筑“垂直森林”来到了中国。据美媒boredpanda2月6日报道,“垂直森林之父”为斯特凡诺·博埃里(Stefano
  Boeri),而南京“垂直森林”项目为亚洲首座博埃里设计在建的“垂直森林”建筑。
 
  报道称,此项建筑将由656英尺(约200米)及354英尺(约108米)的双塔楼组成,外围覆盖至少1000棵树以及约2500棵灌木类植物。“垂直森林”每天可以消化二氧化碳,并释放132磅(约60千克)的氧气。来自意大利时尚之都米兰的地标建筑“垂直森林”来到了中国。据美媒boredpanda2月6日报道,“垂直森林之父”为斯特凡诺·博埃里(Stefano
  Boeri),而南京“垂直森林”项目为亚洲首座博埃里设计在建的“垂直森林”建筑。
 
  报道称,此项建筑将由656英尺(约200米)及354英尺(约108米)的双塔楼组成,外围覆盖至少1000棵树以及约2500棵灌木类植物。“垂直森林”每天可以消化二氧化碳,并释放132磅(约60千克)的氧气。来自意大利时尚之都米兰的地标建筑“垂直森林”来到了中国。据美媒boredpanda2月6日报道,“垂直森林之父”为斯特凡诺·博埃里(Stefano
  Boeri),而南京“垂直森林”项目为亚洲首座博埃里设计在建的“垂直森林”建筑。
 
  报道称,此项建筑将由656英尺(约200米)及354英尺(约108米)的双塔楼组成,外围覆盖至少1000棵树以及约2500棵灌木类植物。“垂直森林”每天可以消化二氧化碳,并释放132磅(约60千克)的氧气。来自意大利时尚之都米兰的地标建筑“垂直森林”来到了中国。据美媒boredpanda2月6日报道,“垂直森林之父”为斯特凡诺·博埃里(Stefano
  Boeri),而南京“垂直森林”项目为亚洲首座博埃里设计在建的“垂直森林”建筑。
 
  报道称,此项建筑将由656英尺(约200米)及354英尺(约108米)的双塔楼组成,外围覆盖至少1000棵树以及约2500棵灌木类植物。“垂直森林”每天可以消化二氧化碳,并释放132磅(约60千克)的氧气。
 </div>
 </div>
</body>
</html>

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

Javascript 相关文章推荐
让任务管理器中的CPU跳舞的js代码
Nov 01 Javascript
JS 强制设为首页的代码
Jan 31 Javascript
window.dialogArguments 使用说明
Apr 11 Javascript
jQuery简单图表peity.js使用示例
May 02 Javascript
jQuery消息提示框插件Tipso
May 04 Javascript
基于jQuery插件实现点击小图显示大图效果
May 11 Javascript
微信小程序 wxapp画布 canvas详细介绍
Oct 31 Javascript
jQuery将表单序列化成一个Object对象的实例
Nov 29 Javascript
bootstrap组件之按钮式下拉菜单小结
Jan 19 Javascript
详解mpvue小程序中怎么引入iconfont字体图标
Oct 01 Javascript
JS使用数组实现的队列功能示例
Mar 04 Javascript
vue2.0 获取从http接口中获取数据,组件开发,路由配置方式
Nov 04 Javascript
jQuery实现节点的追加、替换、删除、复制功能示例
Jul 11 #jQuery
微信小程序分页加载的实例代码
Jul 11 #Javascript
Bootstrap弹出框(Popover)被挤压的问题小结
Jul 11 #Javascript
React入门教程之Hello World以及环境搭建详解
Jul 11 #Javascript
underscore之function_动力节点Java学院整理
Jul 11 #Javascript
ReactNative实现图片上传功能的示例代码
Jul 11 #Javascript
手把手教你搭建ES6的开发运行环境
Jul 11 #Javascript
You might like
PHP 采集心得技巧
2009/05/15 PHP
纯真IP数据库的应用 IP地址转化成十进制
2009/06/14 PHP
Yii使用find findAll查找出指定字段的实现方法
2014/09/05 PHP
Laravle eloquent 多对多模型关联实例详解
2017/11/22 PHP
基于jquery的表头固定的若干方法
2011/01/27 Javascript
ajax页面无刷新 IE下遭遇Ajax缓存导致数据不更新的问题
2012/12/11 Javascript
如何使用jquery控制CSS样式,并且取消Css样式(如背景色,有实例)
2013/07/09 Javascript
Jquery中val()表单取值赋值的实例代码
2013/08/15 Javascript
JavaScrip实现PHP print_r的数功能(三种方法)
2013/11/12 Javascript
javaScript中的this示例学习详解及工作原理
2014/01/13 Javascript
js面向对象之公有、私有、静态属性和方法详解
2015/04/17 Javascript
nodejs实现HTTPS发起POST请求
2015/04/23 NodeJs
Javascript实现网络监测的方法
2015/07/31 Javascript
jQuery实现Email邮箱地址自动补全功能代码
2015/11/03 Javascript
JavaScript+canvas实现七色板效果实例
2016/02/18 Javascript
JS获取日期的方法实例【昨天,今天,明天,前n天,后n天的日期】
2017/09/28 Javascript
vue解决跨域路由冲突问题思路解析
2017/11/03 Javascript
在vue中给列表中的奇数行添加class的实现方法
2018/09/05 Javascript
原生js实现移动小球(碰撞检测)
2020/12/17 Javascript
python使用xmlrpclib模块实现对百度google的ping功能
2015/06/02 Python
python解析xml简单示例
2019/06/21 Python
python实现简单坦克大战
2020/03/27 Python
tensorflow使用freeze_graph.py将ckpt转为pb文件的方法
2020/04/22 Python
构造器Constructor是否可被override?
2013/08/06 面试题
化学相关工作求职信
2013/10/02 职场文书
新闻学专业个人求职信写作
2014/02/04 职场文书
房产代理公证处委托书
2014/04/04 职场文书
班级学习雷锋活动总结
2014/07/04 职场文书
关于读书的演讲稿600字
2014/08/27 职场文书
2015年党员个人自我评价
2015/03/03 职场文书
2015年学校综合治理工作总结
2015/07/20 职场文书
2016年学校党支部创先争优活动总结
2016/04/05 职场文书
2019年特色火锅店的创业计划书模板
2019/08/28 职场文书
导游词之晋城蟒河
2019/12/12 职场文书
golang switch语句的灵活写法介绍
2021/05/06 Golang
Python爬取用户观影数据并分析用户与电影之间的隐藏信息!
2021/06/29 Python