js实现简易垂直滚动条

作者:wp0214 时间:2024-05-22 10:34:53 

效果图:

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>

来源:http://www.qdfuns.com/notes/38731/76726af1eac5c5b4dd6412dab01095e6.html

标签:js,滚动条
0
投稿

猜你喜欢

  • 浅谈opencv自动光学检测、目标分割和检测(连通区域和findContours)

    2023-04-15 09:25:18
  • 解决pycharm下载库时出现Failed to install package的问题

    2021-07-30 14:15:49
  • SQL提供的进行数据传输的实用程序—BCP

    2009-01-23 13:45:00
  • Python通过Manager方式实现多个无关联进程共享数据的实现

    2021-12-27 04:03:17
  • Go实现各类限流的方法

    2024-04-27 15:39:47
  • python中Apriori算法实现讲解

    2023-10-27 17:41:20
  • Oracle学习笔记(四)

    2012-01-05 18:57:33
  • Python基于Webhook实现github自动化部署

    2023-09-28 21:31:27
  • Python 使用csv库处理CSV文件的方法

    2023-03-16 21:37:24
  • SQL Server2022安装图文教程(最新推荐)

    2024-01-27 04:55:25
  • 详解Python Qt的窗体开发的基本操作

    2021-03-28 00:58:12
  • 使用webpack-dev-server处理跨域请求的方法

    2024-04-29 13:44:19
  • Django框架实现的简单分页功能示例

    2022-05-16 08:25:43
  • JavaScript 箭头函数的特点、与普通函数的区别

    2024-05-02 17:30:45
  • 浅谈mysql数据库中的using的用法

    2024-01-28 17:33:49
  • 豆瓣可以做而且值得做的几件事情

    2009-04-24 12:07:00
  • python环境路径配置以及命令行运行脚本

    2023-09-19 21:19:05
  • python 用递归实现通用爬虫解析器

    2022-04-15 08:13:55
  • 在SQL SERVER中导致索引查找变成索引扫描的问题分析

    2024-01-20 09:19:35
  • 在ASP.NET 2.0中操作数据之五十:为GridView控件添加Checkbox

    2023-06-26 19:18:09
  • asp之家 网络编程 m.aspxhome.com