首页 > 编程 > JavaScript > 正文

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

2019-11-19 16:06:35
字体:
来源:转载
供稿:网友

本文实例为大家分享了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>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持武林网。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表