js实现简易垂直滚动条


Posted in Javascript onFebruary 22, 2017

效果图:

js实现简易垂直滚动条

代码如下:

<!DOCTYPE html>
<html>
 <head>
 <meta charset="UTF-8">
 <title>垂直滚动条</title>
 <style type="text/css">
  .con {
  width: 350px;
  height: 600px;
  border: 1px solid saddlebrown;
  position: relative;
  overflow: hidden;
  }
  .txtBox{
  position: absolute;
  padding-left: 8px;
  padding-right: 36px;
  left: 0px;
  top: 0;
  }
  .bar {
  width: 26px;
  height: 100%;
  background: gainsboro;
  position: absolute;
  top: 0;
  right: 0;
  }
  .drdap {
  width: 100%;
  height: 100px;
  background: steelblue;
  border-radius: 10px;
  position: absolute;
  cursor: pointer;
  left: 0;
  top: 0;
  }
 </style>
 </head>
 <body>
 <div class="con">
  <div class="txtBox">
  人的一生至少有两次冲动,一次说走就走的旅行和一次奋不顾身的爱情。如果你有些厌倦现在的生活状态,一场冒险式的旅行便是你的解药。免费落地签已开放,来#迪拜#穿越沙漠海洋,感受异国的多元文化,也许还能收获一份真挚的爱情,结束你的单身岁月,将一个又一个精彩纷呈的旅行故事镌刻在自己生命里。你是否也有这样的冒险经历?人的一生至少有两次冲动,一次说走就走的旅行和一次奋不顾身的爱情。如果你有些厌倦现在的生活状态,一场冒险式的旅行便是你的解药。免费落地签已开放,来#迪拜#穿越沙漠海洋,感受异国的多元文化,也许还能收获一份真挚的爱情,结束你的单身岁月,将一个又一个精彩纷呈的旅行故事镌刻在自己生命里。你是否也有这样的冒险经历?<br />人的一生至少有两次冲动,一次说走就走的旅行和一次奋不顾身的爱情。如果你有些厌倦现在的生活状态,一场冒险式的旅行便是你的解药。免费落地签已开放,来#迪拜#穿越沙漠海洋,感受异国的多元文化,也许还能收获一份真挚的爱情,结束你的单身岁月,将一个又一个精彩纷呈的旅行故事镌刻在自己生命里。你是否也有这样的冒险经历?<br />人的一生至少有两次冲动,一次说走就走的旅行和一次奋不顾身的爱情。如果你有些厌倦现在的生活状态,一场冒险式的旅行便是你的解药。免费落地签已开放,来#迪拜#穿越沙漠海洋,感受异国的多元文化,也许还能收获一份真挚的爱情,结束你的单身岁月,将一个又一个精彩纷呈的旅行故事镌刻在自己生命里。你是否也有这样的冒险经历?<br />人的一生至少有两次冲动,一次说走就走的旅行和一次奋不顾身的爱情。如果你有些厌倦现在的生活状态,一场冒险式的旅行便是你的解药。免费落地签已开放,来#迪拜#穿越沙漠海洋,感受异国的多元文化,也许还能收获一份真挚的爱情,结束你的单身岁月,将一个又一个精彩纷呈的旅行故事镌刻在自己生命里。你是否也有这样的冒险经历?人的一生至少有两次冲动,一次说走就走的旅行和一次奋不顾身的爱情。如果你有些厌倦现在的生活状态,一场冒险式的旅行便是你的解药。免费落地签已开放,来#迪拜#穿越沙漠海洋,感受异国的多元文化,也许还能收获一份真挚的爱情,结束你的单身岁月,将一个又一个精彩纷呈的旅行故事镌刻在自己生命里。你是否也有这样的冒险经历?<br />人的一生至少有两次冲动,一次说走就走的旅行和一次奋不顾身的爱情。如果你有些厌倦现在的生活状态,一场冒险式的旅行便是你的解药。免费落地签已开放,来#迪拜#穿越沙漠海洋,感受异国的多元文化,也许还能收获一份真挚的爱情,结束你的单身岁月,将一个又一个精彩纷呈的旅行故事镌刻在自己生命里。你是否也有这样的冒险经历?人的一生至少有两次冲动,一次说走就走的旅行和一次奋不顾身的爱情。如果你有些厌倦现在的生活状态,一场冒险式的旅行便是你的解药。免费落地签已开放,来#迪拜#穿越沙漠海洋,感受异国的多元文化,也许还能收获一份真挚的爱情,结束你的单身岁月,将一个又一个精彩纷呈的旅行故事镌刻在自己生命里。你是否也有这样的冒险经历?
  </div>
  <div class="bar">
  <div class="drdap"></div>
  </div>
 </div>
 </body>
 <script type="text/javascript">
 var con = document.querySelector('.con');
 var txtBox = document.querySelector('.txtBox');
 var bar = document.querySelector('.bar');
 var drdap = document.querySelector('.drdap');
 //滚动条的高度 = 内容高度/内容盒子高度*内容高度
 drdap.style.height = con.offsetHeight/txtBox.offsetHeight*con.offsetHeight + 'px';
 drdap.onmousedown = function(ev){
  var disy = ev.clientY - drdap.offsetTop;
  document.onmousemove = function(ev){
  var currtY= ev.clientY - disy;
  if (currtY<0) { currtY = 0;}
  if (currtY>bar.offsetHeight-drdap.offsetHeight) {currtY = bar.offsetHeight-drdap.offsetHeight;}
  drdap.style.top = currtY + 'px';
  var scalY = currtY/(bar.offsetHeight-drdap.offsetHeight);
  console.log(txtBox.offsetHeight * scalY)
  txtBox.style.top = scalY * (con.offsetHeight - txtBox.offsetHeight ) + 'px'
  }
  document.onmouseup = function(ev){
  document.onmousemove = null;
  }
  return false;
 }
 </script>
</html>

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

Javascript 相关文章推荐
JS实现随机化快速排序的实例代码
Aug 01 Javascript
常用的JavaScript WEB操作方法分享
Feb 28 Javascript
JavaScript实现广告的关闭与显示效果实例
Jul 02 Javascript
分析js闭包引起的事件注册问题
Mar 29 Javascript
JS去除空格和换行的正则表达式(推荐)
Jun 14 Javascript
深入浅出ES6新特性之函数默认参数和箭头函数
Aug 01 Javascript
Javascript发送AJAX请求实例代码
Aug 21 Javascript
实例解析angularjs的filter过滤器
Dec 14 Javascript
DropDownList控件绑定数据源的三种方法
Dec 24 Javascript
解决ztree搜索中多级菜单展示不全问题
Jul 05 Javascript
发布订阅模式在vue中的实际运用实例详解
Jun 09 Javascript
在vue中使用防抖函数组件操作
Jul 26 Javascript
微信小程序 引用其他js文件实现代码
Feb 22 #Javascript
微信小程序本作用域下调用全局JS详解及实例
Feb 22 #Javascript
vuejs2.0实现分页组件使用$emit进行事件监听数据传递的方法
Feb 22 #Javascript
JS实现一个简单的日历
Feb 22 #Javascript
js实现日历与定时器
Feb 22 #Javascript
JS验证字符串功能
Feb 22 #Javascript
Bootstrap3 模态框使用实例
Feb 22 #Javascript
You might like
最令PHP初学者们头痛的十四个问题
2007/01/15 PHP
linux命令之调试工具strace的深入分析
2013/06/03 PHP
适合PHP初学者阅读的4本经典书籍
2016/09/23 PHP
PHP bin2hex()函数基础实例讲解
2019/02/11 PHP
jquery ajax执行后台方法
2010/03/18 Javascript
javascript 手动给表增加数据的小例子
2013/07/10 Javascript
详解JS 比较两个Json对象的值是否相等的实例
2013/11/20 Javascript
js函数名与form表单元素同名冲突的问题
2014/03/07 Javascript
基于jQuery的JavaScript模版引擎JsRender使用指南
2014/12/29 Javascript
js动态切换图片的方法
2015/01/20 Javascript
jQuery使用正则表达式限制文本框只能输入数字
2016/06/18 Javascript
JS实现的自动打字效果示例
2017/03/10 Javascript
Jquery把获取到的input值转换成json
2017/05/15 jQuery
深入理解Nodejs Global 模块
2017/06/03 NodeJs
微信小程序实现页面跳转传值的方法
2017/10/12 Javascript
百度地图去掉marker覆盖物或者去掉maker的label文字方法
2018/01/26 Javascript
vue中$nextTick的用法讲解
2019/01/17 Javascript
JS温故而知新之变量提升和时间死区
2019/01/27 Javascript
JS获取动态添加元素的方法详解
2019/07/31 Javascript
JS实现简单tab选项卡切换
2019/10/25 Javascript
对Python新手编程过程中如何规避一些常见问题的建议
2015/04/01 Python
Python模块future用法原理详解
2020/01/20 Python
Python调用接口合并Excel表代码实例
2020/03/31 Python
解决keras使用cov1D函数的输入问题
2020/06/29 Python
英国电动工具购买网站:Anglia Tool Centre
2017/04/25 全球购物
lookfantastic荷兰:在线购买奢华护肤、护发和化妆品
2018/11/27 全球购物
印尼在线旅游门户网站:NusaTrip
2019/11/01 全球购物
俄罗斯极限运动网上商店:Board Shop №1
2020/12/18 全球购物
请解释流与文件有什么不同
2016/07/29 面试题
公司成立感言
2014/01/11 职场文书
航海技术专业毕业生求职信
2014/04/06 职场文书
工作求职自荐信
2014/06/13 职场文书
2014领导干部学习焦裕禄同志先进事迹思想汇报
2014/09/19 职场文书
检讨书范文2000字
2015/01/28 职场文书
努力工作保证书
2015/02/28 职场文书
TypeScript 使用 Tuple Union 声明函数重载
2022/04/07 Javascript