24. juni 2005 - 12:59
Der er
2 kommentarer og
1 løsning
Scroll et eller andet antal pixels
Hej fandt nedenstående kode på exp.dk.
Kan man modificere det, så der ved et klik på ScrollRight scrolles 120 pixels mod højre? og ikke som nu hvor den bare kører helt til enden.
<html>
<head>
<script type="text/javascript">
function verifyCompatibleBrowser(){
this.ver=navigator.appVersion
this.dom=document.getElementById?1:0
this.ie5=(this.ver.indexOf("MSIE 5")>-1 && this.dom)?1:0;
this.ie4=(document.all && !this.dom)?1:0;
this.ns5=(this.dom && parseInt(this.ver) >= 5) ?1:0;
this.ns4=(document.layers && !this.dom)?1:0;
this.bw=(this.ie5 || this.ie4 || this.ns4 || this.ns5)
return this
}
bw=new verifyCompatibleBrowser()
var speed=1
var loop, timer
function ConstructObject(obj,nest){
nest=(!nest) ? '':'document.'+nest+'.'
this.el=bw.dom?document.getElementById(obj):bw.ie4?document.all[obj]:bw.ns4?eval(nest+'document.'+obj):0;
this.css=bw.dom?document.getElementById(obj).style:bw.ie4?document.all[obj].style:bw.ns4?eval(nest+'document.'+obj):0;
this.scrollHeight=bw.ns4?this.css.document.height:this.el.offsetHeight
this.clipHeight=bw.ns4?this.css.clip.height:this.el.offsetHeight
this.left=MoveArealeft;this.right=MoveArearight;
this.MoveArea=MoveArea; this.x; this.y;
this.obj = obj + "Object"
eval(this.obj + "=this")
return this
}
function MoveArea(x,y){
this.x=x;this.y=y
this.css.left=this.x
this.css.left=this.y
}
function MoveArearight(move){
if(this.y>-this.scrollHeight+objContainer.clipHeight){
this.MoveArea(0,this.y-move)
if(loop) setTimeout(this.obj+".right("+move+")",speed)
}
}
function MoveArealeft(move){
if(this.y<0){
this.MoveArea(0,this.y-move)
if(loop) setTimeout(this.obj+".left("+move+")",speed)
}
}
function PerformScroll(speed){
if(initialised){
loop=true;
if(speed>0) objScroller.right(speed)
else objScroller.left(speed)
}
}
function CeaseScroll(){
loop=false
if(timer) clearTimeout(timer)
}
var initialised;
function InitialiseScrollableArea(){
objContainer=new ConstructObject('divContainer')
objScroller=new ConstructObject('divContentimg','divContainer')
objScroller.MoveArea(0,0)
objContainer.css.visibility='visible'
initialised=true;
}
onload=InitialiseScrollableArea;
</script>
</HEAD>
<BODY >
<div id="divleftControl" style="position:absolute; top: 202; left: 70">
<a href="java script:;" onClick="PerformScroll(-12); self.status='Scroll left';return true" onmouseout="CeaseScroll(); self.status='';return true">scroll left</a> </div><div id="divrightControl" style="position:absolute; top: 202; left: 150">
<a href="java script:;" onClick="PerformScroll(12); self.status='Scroll right';return true" onmouseout="CeaseScroll(); self.status='';return true">scroll right</a></div>
<div id="divContainer" style="position:absolute; clip:rect(0,300,310,0); visibility:hidden">
<div id="divContentimg" style="position:absolute">
hfghfdhdfyhdfhdfhdfhdfhdfhdfhdfhgfhdfyhdfhdfhdfhdfyhdfhdfgutyujikuiolfjdt
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
</div>
</BODY>
</HTML>