js 自定义滚动条

2026-03-04 23:05:02

1、/*css*/

#parent {width:400px; height:10px; background:#CCC; position:relative; margin:0 auto;margin-top: 10px;}

#div1 {width:20px; height:10px; background:green; position:absolute; left:0; top:0;cursor:move;}

#div2 {width:400px; height:300px; border:1px solid black; overflow:hidden; position:relative;margin:0 auto;margin-top:10px;}

#div3 {position:absolute; left:0; top:0; padding:4px;}

2、<!--html-->

<div id="parent">

<div id="div1"></div>

</div>

<div id="div2">

<div id="div3">

    进入11月以来,我国冷空气势力较弱,大部地区以升温为主。但是从昨天开始,一股较强冷空气已经开始影响新疆,乌鲁木齐从昨天9点开始气温剧烈下滑,一小时内降温幅度达10℃,同时,新疆多地也出现了雨雪。<br>

今天,我国雨雪范围仍将主要集中在新疆北部和内蒙古东北部、东北一带。中央气象台预计,5日08时至6日08时,新疆北部、黑龙江东南部、吉林东部等地的部分地区有小到中雪或雨夹雪,其中,新疆天山地区局地有大到暴雪。<br>

未来几天,随着冷空气逐渐东移南下,明天开始中东部将遭遇大范围雨雪过程,东北或遭遇今年下半年来最大规模降雪。预计,6-8日华北大部、东北等地有小到中雨(雪)或雨夹雪,其中东北地区局地大到暴雪;黄淮、江淮、江南大部、西南地区东部有小到中雨,局地有大雨。<br>

此外,受冷空气影响,我国大部地区还将出现明显降温过程,中东部大部地区降温6~8℃,部分地区降温可达10℃或以上,新疆、东北、江南、华南等地气温或再创下半年新低。像吉林长春8日最高气温仅为-3℃,贵州贵阳则降至8℃。<br>

由于雪后气温低,内蒙古东部、吉林东部和黑龙江东南部或将出现明显积雪,对公路交通造成持续影响,7日进出东北的航班可能也将受到影响,建议公众随时关注天气变化,调整行程。

    </div>

</div>

3、//js

var parent=document.getElementById('parent');

var div1=document.getElementById('div1');

var div2=document.getElementById('div2');

var div3=document.getElementById('div3');

var w_parent=parent.offsetWidth;

var s;

div1.onmousedown=function(event){

var e=event||window.event;

var x=e.clientX-div1.offsetLeft;

document.onmousemove=function(event){

var e=event||window.event;

var oleft=e.clientX-x;

var c=div3.offsetHeight-div2.offsetHeight;

if(oleft<0){

oleft=0;

div1.style.left=oleft+'px';

div3.style.top='0px';

}

else if(oleft>(w_parent-div1.offsetWidth)){

oleft=w_parent-div1.offsetWidth;

div1.style.left=oleft+'px';

div3.style.top='-'+c+'px';

}

else{

div1.style.left=oleft+'px';

var s=oleft/(w_parent-div1.offsetWidth);

var h_div3=s*c;

div3.style.top='-'+h_div3+'px';

}

}

}

div1.onmouseup=function(){

document.onmousemove=null;

}

猜你喜欢