iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > node.js >js如何实现浏览器滚动条
  • 756
分享到

js如何实现浏览器滚动条

2024-04-02 19:04:59 756人浏览 泡泡鱼
摘要

小编给大家分享一下js如何实现浏览器滚动条,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!效果图:代码如下:<!DOCTYP

小编给大家分享一下js如何实现浏览器滚动条,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

效果图:

js如何实现浏览器滚动条

代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>仿浏览器滚动条</title>
 <style type="text/CSS">
 *{margin: 0;padding: 0;}
 #demo{width: 300px;height: 500px;border: 1px solid red;margin:100px;position:relative;overflow:hidden;}
 p{padding:5px 20px 5px 5px;font-size:26px;position:relative;}
 #scrll{width:18px;border-radius:18px;position:absolute;top:0;right:0;background:red;cursor:pointer;}
 </style>
</head>
<body>
<div id="demo">
 <p id="dp">我是文字内容我是文字内容我是文字内容我是文字内容我是文字内容我是文字内容我是文字内容我是文字内容我是文字内容我是文字内容我是文字内容我是文字内容我是文字内容我是文字内容我是文字内容我是文字内容我是文字内容我是文字内容我是文字内容我是文字内容我是文字内容我是文字内容我是文字内容我是文字内容我是文字内容我是文字内容我是文字内容我是文字内容我是文字内容我是文字内容我是文字内容我是文字内容我是文字内容我是文字内容我是文字内容我是文字内容我是文字内容我是文字内容我是文字内容我是文字内容我是文字内容我是文字内容我是文字内容我是文字内容我是文字内容我是文字内容我是文字内容我是文字内容我是文字内容我是文字内容我是文字内容我是文字内容我是文字内容我是文字内容我是文字内容</p>
 <div id="scrll"></div>
</div>
</body>
<script type="text/javascript">
 (function(window){
 function $(id){
  return document.getElementById(id);
 };
 // 获取对象
 var dp = $("dp"),demo = $("demo"),scrll = $("scrll");
 // 获取dp的长度
 var dpHeight = dp.offsetHeight;
 // 获取demo的长度
 var demoHeight = demo.offsetHeight;
 // 根据比值计算scrll的长度
 var scrllHeight = demoHeight * demoHeight / dpHeight ;
 // 如果内容长度小于窗口长度,则滚动条不显示
 if( dp.offsetHeight < demo.offsetHeight){
  scrllHeight = 0;
 };
 scrll.style.height = scrllHeight + "px";
 // 获取滚动条和内容移动距离的比例
 var bilu = ( dp.offsetHeight - demo.offsetHeight ) / (demo.offsetHeight - scrll.offsetHeight);
 // 滚动条滚动事件
 scrll.onmousedown = function(event){
  // event兼容性解决
  // console.log(demo.offsetTop)
  var event = event || window.event;
  // 获取鼠标按下的页面坐标
  // 滚动条滚动时只有top值改变,所有不需要获取pageX
  var pageY = event.pageY || event.clientY + document.documentElement.scrollTop;
  // 获取鼠标在scrll内的坐标
  var scrllY = pageY - demo.offsetTop - scrll.offsetTop;
  // 给document绑定鼠标移动事件
  document.onmousemove = function(event){
  var event = event || window.event;
  // 获取鼠标移动时的坐标
  var moveY = event.pageY || event.clientY + document.documentElement.scrollTop;
  // 获取滚动条的移动坐标
  var trueY = moveY - scrllY - demo.offsetTop ;
  // 限制滚动条移动的范围
  if( trueY < 0 ){
   trueY = 0 ;
  };
  if( trueY > demo.offsetHeight - scrll.offsetHeight ){
   trueY = demo.offsetHeight - scrll.offsetHeight;
  };
  scrll.style.top = trueY + "px";
  //清除选中文字
       window.getSelection ? window.getSelection().removeAllRanges() : document.selection.empty();
       // 获取文字区域移动的距离
       var dpY = trueY * bilu ;
       dp.style.top = - dpY + "px";
  }
 };
 // 鼠标抬起清除鼠标移动事件
 document.onmouseup = function(){
  document.onmousemove = null;
 }
 })(window)
</script>
</html>

以上是“js如何实现浏览器滚动条”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网node.js频道!

--结束END--

本文标题: js如何实现浏览器滚动条

本文链接: https://www.lsjlt.com/news/68670.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • js如何实现浏览器滚动条
    小编给大家分享一下js如何实现浏览器滚动条,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!效果图:代码如下:<!DOCTYP...
    99+
    2022-10-19
  • CSS如何设置浏览器默认滚动条
    这篇文章主要介绍CSS如何设置浏览器默认滚动条,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! jquery转折条优化设置装备摆设涉猎器默许转折条格局,当容器形式利益时浮现浏览器转动...
    99+
    2022-10-19
  • 浏览器滚动条样式怎么修改
    这篇文章主要介绍“浏览器滚动条样式怎么修改”,在日常操作中,相信很多人在浏览器滚动条样式怎么修改问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”浏览器滚动条样式怎么修改”的疑惑...
    99+
    2022-10-19
  • js如何实现垂直滚动条
    这篇文章主要为大家展示了“js如何实现垂直滚动条”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“js如何实现垂直滚动条”这篇文章吧。效果图:代码如下:<!D...
    99+
    2022-10-19
  • js如何实现彩色条纹滚动条效果
    这篇文章主要介绍了js如何实现彩色条纹滚动条效果,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。左侧可用调色板选择条纹颜色效果图:代码如下:&...
    99+
    2022-10-19
  • CSS修改浏览器滚动条样式的方法
    这篇文章主要介绍“CSS修改浏览器滚动条样式的方法”,在日常操作中,相信很多人在CSS修改浏览器滚动条样式的方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”CSS修改浏览器...
    99+
    2022-10-19
  • JavaScript中怎么判断浏览器和hack滚动条
    这篇文章给大家介绍JavaScript中怎么判断浏览器和hack滚动条,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。判断各大浏览器内核:var userAgent ...
    99+
    2022-10-19
  • 不同浏览器下图片滚动效果的js
    遇到过JS无法在火狐浏览器上实现IE的效果,昨天查看了一下相应的代码完成了这一功能的实现做一下简单的记录网上的资料很多但大多没有说明细节看到了峰之博文的一篇文章后才若有所思问题出现在那里。 <!-- end #piclist...
    99+
    2023-06-03
  • 怎么在CSS3中改变浏览器滚动条样式
    今天就跟大家聊聊有关怎么在CSS3中改变浏览器滚动条样式,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。注:该方法只适用于 -webkit- 内核浏览器浏览器滚动条太宽,太丑,影响日常...
    99+
    2023-06-08
  • JS如何实现自定义滚动条效果
    这篇文章给大家分享的是有关JS如何实现自定义滚动条效果的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。具体内容如下<head>  <meta ...
    99+
    2022-10-19
  • JS如何判断滚动条的滚动方向
    小编给大家分享一下JS如何判断滚动条的滚动方向,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!以下代码实现判断页面的滚动条的滚动方...
    99+
    2022-10-19
  • 使用css怎么修改浏览器scrollbar滚动条样式
    本篇文章给大家分享的是有关使用css怎么修改浏览器scrollbar滚动条样式,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。使用css修改浏览器滚动条样式::-webkit-s...
    99+
    2023-06-08
  • CSS怎么改变webkit内核浏览器的滚动条样式
    本篇内容主要讲解“CSS怎么改变webkit内核浏览器的滚动条样式”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“CSS怎么改变webkit内核浏览器的滚动条样式...
    99+
    2022-10-19
  • bootstrap如何实现滚动条
    本篇内容介绍了“bootstrap如何实现滚动条”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2022-10-19
  • react如何实现滚动条
    这篇“react如何实现滚动条”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“react如何实现滚动条”文章吧。react实现...
    99+
    2023-07-04
  • 如何使用CSS实现无滚动条滚动
    小编给大家分享一下如何使用CSS实现无滚动条滚动,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!第一种:伪对象选择器在webkit内核的浏览器里可以定义滚动条样式。...
    99+
    2023-06-08
  • 如何实现横向滚动条
    今天就跟大家聊聊有关如何实现横向滚动条,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。html:<div class="nav_wrap">&...
    99+
    2023-06-08
  • css如何实现隐藏滚动条
    这篇文章将为大家详细讲解有关css如何实现隐藏滚动条,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。方法一、计算滚动条宽度并隐藏起来原理:外面的盒子和里面的盒子利用子绝父相进行布局,里面的盒子向右移动17个...
    99+
    2023-06-08
  • js如何实现手机端判断浏览器类型
    这篇文章主要介绍了js如何实现手机端判断浏览器类型,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。手机端判断浏览器类型BrowserInfo = {&nbs...
    99+
    2023-06-27
  • react如何实现浏览器自动刷新
    这篇文章给大家分享的是有关react如何实现浏览器自动刷新的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。什么是前端路由?路由的概念来源于服务端,在服务端中路由描述的是 URL 与处理函数之间的映射关系。在 Web...
    99+
    2023-06-14
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作