<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
*{
margin:0;
padding:0;
}
.box{
width:300px;
height:500px;
border:1px solid black;
margin:50px;
position:relative;
overflow:hidden;
}
.content{
padding:5px 18px 5px 5px;
position:absolute;
top:0;
left:0;
}
.scroll{
width:18px;
height:100%;
position:absolute;
top:0;
right:0;
background-color:#eee;
}
.bar{
height:100px;
width:100%;
position:absolute;
top:0;
left:0;
background-color:plum;
border-radius:10px;
cursor:pointer;
}
</style>
</head>
<body>
<div class="box" id="box">
<div class="content" id="content">
先帝创业未半而中道崩殂,今天下三分,益州疲弊,此诚危急存亡之秋也。然侍卫之臣不懈于内,忠志之士忘身于外者,盖追先帝之殊遇,欲报之于陛下也。诚宜开张圣听,以光先帝遗德,恢弘志士之气,不宜妄自菲薄,引喻失义,以塞忠谏之路也。
宫中府中,俱为一体,陟罚臧否,不宜异同。若有作奸犯科及为忠善者,宜付有司论其刑赏,以昭陛下平明之理,不宜偏私,使内外异法也。
侍中、侍郎郭攸之、费祎、董允等,此皆良实,志虑忠纯,是以先帝简拔以遗陛下。愚以为宫中之事,事无大小,悉以咨之,然后施行,必能裨补阙漏,有所广益。
将军向宠,性行淑均,晓畅军事,试用于昔日,先帝称之曰能,是以众议举宠为督。愚以为营中之事,悉以咨之,必能使行阵和睦,优劣得所。
亲贤臣,远小人,此先汉所以兴隆也;亲小人,远贤臣,此后汉所以倾颓也。先帝在时,每与臣论此事,未尝不叹息痛恨于桓、灵也。侍中、尚书、长史、参军,此悉贞良死节之臣,愿陛下亲之信之,则汉室之隆,可计日而待也。
臣本布衣,躬耕于南阳,苟全性命于乱世,不求闻达于诸侯。先帝不以臣卑鄙,猥自枉屈,三顾臣于草庐之中,咨臣以当世之事,由是感激,遂许先帝以驱驰。后值倾覆,受任于败军之际,奉命于危难之间,尔来二十有一年矣。
先帝知臣谨慎,故临崩寄臣以大事也。受命以来,夙夜忧叹,恐托付不效,以伤先帝之明,故五月渡泸,深入不毛。今南方已定,兵甲已足,当奖率三军,北定中原,庶竭驽钝,攘除奸凶,兴复汉室,还于旧都。此臣所以报先帝而忠陛下之职分也。至于斟酌损益,进尽忠言,则攸之、祎、允之任也。
愿陛下托臣以讨贼兴复之效,不效,则治臣之罪,以告先帝之灵。若无兴德之言,则责攸之、祎、允等之慢,以彰其咎;陛下亦宜自谋,以咨诹善道,察纳雅言,深追先帝遗诏,臣不胜受恩感激。
今当远离,临表涕零,不知所言。
</div>
<div id="scroll" class="scroll">
<div class="bar" id="bar"><div>
</div>
</div>
<script>
function my$(id){
return document.getElementById(id);
}
//获取最外面的div
var box=my$("box");
//获取文字的div
var content=my$("content");
//获取封装滚动条的div
var scroll=my$("scroll");
//获取滚动条
var bar=my$("bar");
//设置滚动条的高度
//滚动条的高/封装滚动条的div的高=box的高/文字div的高
//滚动条的高=封装滚动条的div的高*box的高/文字div的高
var barHeight=scroll.offsetHeight*box.offsetHeight/content.offsetHeight;
bar style.height=barHeight+"px";
//移动滚动条
bar.onmouserdown=function(e){
var spaceY=e.clientY-bar.offsetTop;
document.onmousemove=function(e){
var y=e.clientY-spaceY;
//最小值
y=y<0?0:y;
//最大值
y=y?scroll.offsetHeight-bar.offsetHeight?scroll.offsetHeight-bar.offsetHeight:y;
bar.style.top=y+"px";
//设置鼠标移动的时候,文字不被选中
window.getSelection?window.getSelection().removeAllRanges():document.selection.empty();
//滚动条的移动距离/文字div的移动距离=滚动条最大的移动距离/文字div最大的移动距离
//文字div的移动距离=滚动条的移动距离*文字div最大的移动距离/滚动条最大的移动距离
var moveY=y*(content.offsetHeight-box.offsetHeight)/(scroll.offsetHeight-bar.offsetHeight);
//设置文字div的移动距离
content.style.marginTop=-moveY+"px";
};
};
document.onmouseup=function(){
//鼠标抬起的时候,取消移动事件
document.onmousemove=null;
};
</script>
</body>
</html>
javascript滚动条自定义
最新推荐文章于 2022-12-10 15:00:07 发布
本文将探讨如何使用JavaScript和CSS来实现自定义浏览器滚动条的外观和行为,以提升网页用户体验。通过调整滚动条的颜色、宽度、滑块等属性,可以使其更好地融入网站设计。
摘要由CSDN通过智能技术生成