JavaScript实现滚动条平滑滚动效果示例
作者:闭包旅人时间:2026-10-30 05:04:08浏览:203
本文提供了一段JavaScript代码,演示如何通过定时器动态修改scrollTop属性来实现滚动条的平滑移动效果。代码包含HTML结构、CSS样式及JS逻辑,点击按钮即可触发滚动动画,适用于需要优化用户体验的前端场景。
JavaScript实现滚动条平滑滚动效果示例
本文分享了一段JavaScript实现滚动条平滑滚动的示例代码,供读者参考学习。
HTML页面结构
HTML页面结构
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
<script src="../Scripts/JavaScript9.js"></script>
<link href="../Content/StyleSheet9.css" rel="stylesheet" />
<script src="../Scripts/cxc.js"></script>
<meta charset="utf-8" />
</head>
<body>
<input type="button" id="bt" value="滑动滚动条" />
<div id="back">
</div>
<div id="container">
<div id="main">
<div class="d">
<p>如果有人说自己得到了真理,对不起,请恕鄙人无法相信。原因就不多谈了,这种拿真理吹牛逼的行为</p>
</div>
<div class="d">
<p>如果有人说自己得到了真理,对不起,请恕鄙人无法相信。原因就不多谈了,这种拿真理吹牛逼的行为</p>
</div>
<div class="d">
<p>如果有人说自己得到了真理,对不起,请恕鄙人无法相信。原因就不多谈了,这种拿真理吹牛逼的行为</p>
</div>
<div class="d">
<p>如果有人说自己得到了真理,对不起,请恕鄙人无法相信。原因就不多谈了,这种拿真理吹牛逼的行为</p>
</div>
<div class="d">
<p>如果有人说自己得到了真理,对不起,请恕鄙人无法相信。原因就不多谈了,这种拿真理吹牛逼的行为</p>
</div>
<div class="d">
<p>如果有人说自己得到了真理,对不起,请恕鄙人无法相信。原因就不多谈了,这种拿真理吹牛逼的行为</p>
</div>
<div class="d">
<p>如果有人说自己得到了真理,对不起,请恕鄙人无法相信。原因就不多谈了,这种拿真理吹牛逼的行为</p>
</div>
<div class="d">
<p>如果有人说自己得到了真理,对不起,请恕鄙人无法相信。原因就不多谈了,这种拿真理吹牛逼的行为</p>
</div>
<div class="d">
<p>如果有人说自己得到了真理,对不起,请恕鄙人无法相信。原因就不多谈了,这种拿真理吹牛逼的行为</p>
</div>
<div class="d">
<p>如果有人说自己得到了真理,对不起,请恕鄙人无法相信。原因就不多谈了,这种拿真理吹牛逼的行为</p>
</div>
<div class="d">
<p>如果有人说自己得到了真理,对不起,请恕鄙人无法相信。原因就不多谈了,这种拿真理吹牛逼的行为</p>
</div>
<div class="d">
<p>如果有人说自己得到了真理,对不起,请恕鄙人无法相信。原因就不多谈了,这种拿真理吹牛逼的行为</p>
</div>
<div class="d">
<p>如果有人说自己得到了真理,对不起,请恕鄙人无法相信。原因就不多谈了,这种拿真理吹牛逼的行为</p>
</div>
<div class="d">
<p>如果有人说自己得到了真理,对不起,请恕鄙人无法相信。原因就不多谈了,这种拿真理吹牛逼的行为</p>
</div>
<div class="d">
<p>如果有人说自己得到了真理,对不起,请恕鄙人无法相信。原因就不多谈了,这种拿真理吹牛逼的行为</p>
</div>
<div class="d">
<p>如果有人说自己得到了真理,对不起,请恕鄙人无法相信。原因就不多谈了,这种拿真理吹牛逼的行为</p>
</div>
</div>
</div>
</body>
</html>
JavaScript逻辑实现
JavaScript逻辑实现
var body, back, container, main,bt; //dom
window.onload = function () {
domload();
dominit();
events();
};
var domload = function () {
body = document.body;
back = $("back");
container = $("container");
main = $("main");
bt = $("bt");
};
var dominit = function () {
setH(back, screenH);
setH(container, screenH);
setH(main, screenW);
};
var events = function () {
AddEvent(bt, EventsType[0], function () {
var speed = 10;
var min = 0,max = 449;
var scrolldown = function () {
min += speed;
if (min < max) {
container.scrollTop = min;
setTimeout(scrolldown, 4);
}
};
setTimeout(scrolldown, 100);
});
};
CSS样式定义
CSS样式定义
* {
margin:0px;
padding:0px;
}
#back {
position: absolute;
width: 100%;
top: 0px;
left: 0px;
z-index: 1;
background-image: url('../Images/psbg/bg7.png');
}
#container{
position:absolute;
width:100%;
top:0px;
left:0px;
z-index:100;
overflow:auto;
}
#main{
position:absolute;
width:100%;
top:0px;
left:0px;
}
.d{
margin-top:50px;
}
#bt{
position:absolute;
top:0;
right:50px;
z-index:200;
}
以上内容为本文的全部代码示例,希望能为读者的学习提供有益帮助。
作者最新文章
什么时候该用JS构造器:与工厂模式、字面量的选择对比
2026-11-05 16:18:22
推荐几款轻量级JS照片墙开源库及对比
2026-11-05 15:56:19
JavaScript递归写法有哪些常见陷阱及避免方法
2026-11-05 14:53:38
JS数组浅拷贝与深拷贝怎么选?场景与方法总结
2026-11-05 14:41:02
p5.js 中 setup() 和 draw() 函数的执行机制详解
2026-11-05 12:32:38
