手机版

js模拟滚动条(横向竖向)

时间:2021-10-19 来源:互联网 编辑:宝哥软件园 浏览:

JS:复制代码代码如下:(函数(win){ var doc=win.document,db=doc.body文档中的var mousewheel='onmousewheel '?鼠标滚轮' : ' domousescrollvar SKYROL=function(opts){返回新的SKYROL。原型。init(opts);};天空卷轴。prototype={ constructor : sky scroll,//初始化init :函数(opts){ var set=_ extend({ target : ' content box ',dir:'top ',width:500,height:300,callback:function(){} },opts | | { });var _this=this,mousemoveHandle,mousedownHandlethis。target=_ $(set。目标);这个。家长=这个。目标。父节点;这个。宽度=设置。宽度;这个。高度=设置。身高;这个。dir=set。dir这个。回调=set.callbackthis。addwarpper(set。dir);开关(设置。dir){ case ' top ' : this。addvscroll();打破;案件'左' :这个。addlscroll();打破;默认值:这个。addvscroll();这个。addlscroll();};_addEvent(doc,‘鼠标按下’,函数(e){ var e=e | | window。事件,target=e . target | | e . srcelelement,pos=_ getMousePos(e);if(target==_ this。vscroll | | target==_ this。lscroll){ pos。ttop=parent(_ this。目标。风格。顶部);pos。tleft=ParSeint(_ this。目标。风格。左);pos。StOp=ParSeint(目标。风格。顶部);pos。Sleft=ParSeint(目标。风格。左);mousemoveHandle=_ mousemoveHandle。调用(_ this,pos,target);_addEvent(文档、' mousemove '、mousemoveHandle);_addEvent(doc,‘mouseup’,function(){_removeEvent(doc,‘mousemove’,mousemoveHandle)});};if(target==_ this。vscrollower | | target==_ this。lscrollower){ _ mounsedownlhandle。调用(_ this,pos,target);};});}, //对外提供重新计算滚动条高度或宽度以及滚动范围的方法,用于动态改变内容时,作出的相对应的调整重新计算的:函数(){ var H=this。目标。偏右,W=this . target . offsetwitth,T=parsent(this。目标。风格。top),L=parsent(这个。目标。风格。左)、H、W;这。比率={ l : thi。宽度/宽度,v : thi。高度/H };this.range={l:W-this.width,t :H-this。高度};如果(这个。vscroll){ H=数学。圆(数学。pow(这个。高度,2)/H);温度-湿度指数(温度湿度指数)

版权声明:js模拟滚动条(横向竖向)是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。