Ik heb het volgende scriptje van internet geplukt:
Hiermee zou je een DIVje moeten kunnen laten scrollen m.b.v. mouseovers. Dit werkt allemaal prima, in IE... In FF wil het ding niet bewegen, en ik snap niet waarom. Ik zal wel iets stoms over het hoofd zien ofzo, maar zit er nu al een middag mee te klooien en ik snap niet waarom het nu in FF niet werkt en in IE wel; de afzonderlijke functies werken namelijk allemaal wel.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
| // begin absolutely positioned scrollable area object scripts
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){
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.el = document.getElementById(obj);
this.css = document.getElementById(obj).style;
this.scrollHeight=this.el.offsetHeight;
this.clipHeight=this.el.offsetHeight;*/
this.up=MoveAreaUp;this.down=MoveAreaDown;
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+"px";
this.css.top=this.y+"px";
}
function MoveAreaDown(move){
if(this.y>-this.scrollHeight+objContainer.clipHeight){
this.MoveArea(0,this.y-move)
if(loop) setTimeout(this.obj+".down("+move+")",speed)
}
}
function MoveAreaUp(move){
if(this.y<0){
this.MoveArea(0,this.y-move)
if(loop) setTimeout(this.obj+".up("+move+")",speed)
}
}
function PerformScroll(speed){
if(initialised){
loop=true;
if(speed>0) objScroller.down(speed)
else objScroller.up(speed)
}
}
function CeaseScroll(){
loop=false
if(timer) clearTimeout(timer)
}
var initialised;
function InitialiseScrollableArea(){
objContainer=new ConstructObject('leftpanecontainer');
objScroller=new ConstructObject('leftpanecontent');
objScroller.MoveArea(0,0);
objContainer.css.visibility='visible';
initialised=true;
} |
Hiermee zou je een DIVje moeten kunnen laten scrollen m.b.v. mouseovers. Dit werkt allemaal prima, in IE... In FF wil het ding niet bewegen, en ik snap niet waarom. Ik zal wel iets stoms over het hoofd zien ofzo, maar zit er nu al een middag mee te klooien en ik snap niet waarom het nu in FF niet werkt en in IE wel; de afzonderlijke functies werken namelijk allemaal wel.