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 相关文章推荐
Javascript 阻止javascript事件冒泡,获取控件ID值
Jun 27 Javascript
用jquery与css打造个性化的单选框和复选框
Oct 20 Javascript
从零学JS之你需要了解的几本书
May 19 Javascript
jQuery实现仿QQ空间装扮预览图片的鼠标提示效果代码
Oct 30 Javascript
详解JS中Array对象扩展与String对象扩展
Jan 07 Javascript
JS 清除字符串数组中,重复元素的实现方法
May 24 Javascript
vue如何引用其他组件(css和js)
Apr 13 Javascript
Angular4编程之表单响应功能示例
Dec 13 Javascript
vue实现样式之间的切换及vue动态样式的实现方法
Dec 19 Javascript
vue地区选择组件教程详解
May 04 Javascript
Vue实现一种简单的无限循环滚动动画的示例
Jan 10 Vue.js
vue 数字翻牌器动态加载数据
Apr 20 Vue.js
微信小程序 引用其他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 已经成熟
2006/12/04 PHP
php反弹shell实现代码
2009/04/22 PHP
php中使用session防止用户非法登录后台的方法
2015/01/27 PHP
用PHP生成excel文件到指定目录
2015/06/22 PHP
基于JavaScript 类的使用详解
2013/05/07 Javascript
javascript中取前n天日期的两种方法分享
2014/01/26 Javascript
toggle()隐藏问题的解决方法
2014/02/17 Javascript
node.js中的fs.createReadStream方法使用说明
2014/12/17 Javascript
推荐5 个常用的JavaScript调试技巧
2015/01/08 Javascript
javascript获取元素离文档各边距离的方法
2015/02/13 Javascript
js+jquery常用知识点汇总
2015/03/03 Javascript
jQuery实现购物车数字加减效果
2015/03/14 Javascript
Javascript简单改变表单元素背景的方法
2015/07/15 Javascript
JavaScript基础重点(必看)
2016/07/09 Javascript
jquery精度计算代码 jquery指定精确小数位
2017/02/06 Javascript
微信小程序之页面跳转和参数传递的实现
2017/09/29 Javascript
Ionic学习日记实现验证码倒计时
2018/02/08 Javascript
基于jQuery实现的设置文本区域的光标位置
2018/06/15 jQuery
axios全局注册,设置token,以及全局设置url请求网段的方法
2018/09/25 Javascript
react实现复选框全选和反选组件效果
2020/08/25 Javascript
[05:04]DOTA2上海特级锦标赛主赛事第二日TOP10
2016/03/04 DOTA
python数据类型判断type与isinstance的区别实例解析
2017/10/31 Python
python+matplotlib绘制饼图散点图实例代码
2018/01/20 Python
DES加密解密算法之python实现版(图文并茂)
2018/12/06 Python
python整合ffmpeg实现视频文件的批量转换
2019/05/31 Python
Python读写文件基础知识点
2019/06/10 Python
python+jinja2实现接口数据批量生成工具
2019/08/28 Python
tensorflow 变长序列存储实例
2020/01/20 Python
Python 自由定制表格的实现示例
2020/03/20 Python
Python3利用openpyxl读写Excel文件的方法实例
2021/02/03 Python
IE下实现类似CSS3 text-shadow文字阴影的几种方法
2011/05/11 HTML / CSS
10 套华丽的CSS3 按钮小结
2012/10/03 HTML / CSS
CSS3 @font-face属性使用指南
2014/12/12 HTML / CSS
《望洞庭》教学反思
2014/02/16 职场文书
先进教师个人事迹材料
2014/12/15 职场文书
Java数据结构之堆(优先队列)
2022/05/20 Java/Android