Javascript der ikke vireker i FF men i IE
Denne kode: (Er desværre meget lang, beklager)var debugActive = true;
function debug( txt ) {
if ( debugActive ) debugActive=confirm( txt );
}; //end debug( string )
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=50
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.scrollWidth=bw.ns4
? this.css.document.width
: this.el.offsetWidth;
this.clipWidth=bw.ns4
? this.css.clip.width
: this.el.offsetWidth;
this.leftx= MoveAreaLeft;
this.rightx=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.top=this.y;
}
function MoveAreaRight(move){
// debug ( "MoveAreaRight("+move+") kaldt. this.x = " +this.x );
// debug ( "bredde "+ 320 +" -" +this.scrollWidth );
// if(this.x>objContainer.clipWidth-this.scrollWidth){
if(this.x>674-this.scrollWidth){
this.MoveArea(this.x-move,0)
if(loop) setTimeout(this.obj+".rightx("+move+")",speed)
}
}
function MoveAreaLeft(move){
// debug ( "MoveAreaLeft("+move+") kaldt. this.x = " +this.x );
if(0>this.x){
this.MoveArea(this.x-move,0)
if(loop) setTimeout(this.obj+".leftx("+move+")",speed)
}
}
function PerformScroll(speed){
// debug ( "PerformScroll("+speed+") kaldt" );
if(initialised){
loop=true;
if(speed>0) objScroller.rightx(speed)
else objScroller.leftx(speed)
}
}
function CeaseScroll(){
loop=false
if(timer) clearTimeout(timer)
}
var initialised;
function InitialiseScrollableArea(){
objContainer=new ConstructObject('divContainer');
objScroller=new ConstructObject('divContent','divContainer');
objScroller.MoveArea(0,0);
objContainer.css.visibility='visible';
initialised=true;
}
// end absolutely positioned scrollable area object scripts
Virker i IE men ikke i FireFox.
Hvilke ting skal man være opmærksom på for at de virker begge steder. Det virker i øvrigt heller ikke på MAC.
