可直接使用的js滚动条,先看看效果图:

基于JavaScript实现自定义滚动条

代码如下

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>自定义滚动条</title>
</head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>滚动条</title>
<style type="text/css">
*{ margin:0; padding:0;}
#mainBox{ 
 width:400px; 
 height:500px; 
 border:1px #bbb solid; 
 position:relative; 
 overflow:hidden;
  margin:50px auto;
 }
#content{ 
 height:2500px; 
 position:absolute; 
 left:0; 
 top:0; 
 background:url(https://timgsa.baidu.com/timg"mainBox">
 <div id="content"></div>
</div>
<script type="text/javascript">
var doc=document;
var _wheelData=-1;
var mainBox=doc.getElementById('mainBox');
function bind(obj,type,handler){
 var node=typeof obj=="string""string""px";
 p.style.height=_height+"px";
 p.style.left=_left+"px";
 p.style.position="absolute";
 p.style.background="#ccc";
 contentBox.style.width=(mainBox.offsetWidth-_scrollWidth)+"px";
 var _scrollHeight=parseInt(_height*(_height/conHeight));
 if(_scrollHeight>=mainBox.clientHeight){
 element.parentNode.style.display="none";
 }
 element.style.height=_scrollHeight+"px";
 },
 //拖动滚动条
 _tragScroll:function(element,mainBox,contentBox){
 var mainHeight=mainBox.clientHeight;
 element.onmousedown=function(event){
 var _this=this;
 var _scrollTop=element.offsetTop;
 var e=event||window.event;
 var top=e.clientY;
 //this.onmousemove=scrollGo;
 document.onmousemove=scrollGo;
 document.onmouseup=function(event){
 this.onmousemove=null;
 }
 function scrollGo(event){
 var e=event||window.event;
 var _top=e.clientY;
 var _t=_top-top+_scrollTop;
 if(_t>(mainHeight-element.offsetHeight)){
  _t=mainHeight-element.offsetHeight;
 }
 if(_t<=0){
  _t=0;
 }
 element.style.top=_t+"px";
 contentBox.style.top=-_t*(contentBox.offsetHeight/mainBox.offsetHeight)+"px";
 _wheelData=_t;
 }
 }
 element.onmouseover=function(){
 this.style.background="#444"; 
 }
 element.onmouseout=function(){
 this.style.background="#666"; 
 }
 },
 //鼠标滚轮滚动,滚动条滚动
 _wheelChange:function(element,mainBox,contentBox){
 var node=typeof mainBox=="string""px";
  wheelFlag=_wheelData*12;
  _wheelData=-1;
 }else{
  flag=wheelFlag/12;
 }
 if(flag<=0){
  flag=0;
  wheelFlag=0;
 }
 if(flag>=(mainBox.offsetHeight-element.offsetHeight)){
  flag=(mainBox.clientHeight-element.offsetHeight);
  wheelFlag=(mainBox.clientHeight-element.offsetHeight)*12;
 }
 element.style.top=flag+"px";
 contentBox.style.top=-flag*(contentBox.offsetHeight/mainBox.offsetHeight)+"px";
 });
 }
 },
 _clickScroll:function(element,mainBox,contentBox){
 var p=element.parentNode;
 p.onclick=function(event){
 var e=event||window.event;
 var t=e.target||e.srcElement;
 var sTop=document.documentElement.scrollTop>0"px";
 contentBox.style.top=-_top*(contentBox.offsetHeight/mainBox.offsetHeight)+"px";
 _wheelData=_top;
 }
 }
 }
}

new addScroll('mainBox','content','scrollDiv');
</script>
</body>
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

标签:
js,滚动条

免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
评论“基于JavaScript实现自定义滚动条”
暂无“基于JavaScript实现自定义滚动条”评论...

《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线

暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。

艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。

《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。