Goede middag,
Ten eerst moet ik melden dat deze code geheel vanuit niets zelf is geprogrammeert. dit is geen klant en klaar script vanaf internet die ik zomaar even copy en paste hier.
Ik heb het probleem echt geprobeerd zelf op te lossen, ben inmiddels al weken bezig.
Ik zit op me stage en ik MOET deze opdracht voltooien icm FRAMES.
dingen zoals: Vergeet die frames en deel je pagina op in div's is dus overbodig
Ik heb een webpagina die opgedeeld is in 3 frames,
met een cursor die gevolgt wordt door een slinger.
Het was wat moeite om de slinger werkend te krijgen over de 3 frames, maar uit eindelijk is dit toch gelukt.
Nu heeft het volgende probleem zich voorgedaan:
Wanneer ik in de mainframe naar beneden scroll en met me muistrail over ga naar het linker frame, komen de volgende blokjes, de hoogte van het aantal gescrollde pixels, boven het voorste blokje.
Dit is mijn code:
de functie window resize word aangeroepen in alle body's van de html pagina's. en op het moment dat er een window geresized wordt.
Ik lees al de scrollhoogte uit en tel die op bij de hoogte van het mainframe. dit werkt wel, maar dan komen de blokjes die moeten volgen eronder.
Een voorbeeld van deze pagina is te zien op:
http://home.wanadoo.nl/aahugens/testopdracht/
Als iemand mij kan helpen, graag!
Bij voorbaat dank,
Nick
Ten eerst moet ik melden dat deze code geheel vanuit niets zelf is geprogrammeert. dit is geen klant en klaar script vanaf internet die ik zomaar even copy en paste hier.
Ik heb het probleem echt geprobeerd zelf op te lossen, ben inmiddels al weken bezig.
Ik zit op me stage en ik MOET deze opdracht voltooien icm FRAMES.
dingen zoals: Vergeet die frames en deel je pagina op in div's is dus overbodig
Ik heb een webpagina die opgedeeld is in 3 frames,
met een cursor die gevolgt wordt door een slinger.
Het was wat moeite om de slinger werkend te krijgen over de 3 frames, maar uit eindelijk is dit toch gelukt.
Nu heeft het volgende probleem zich voorgedaan:
Wanneer ik in de mainframe naar beneden scroll en met me muistrail over ga naar het linker frame, komen de volgende blokjes, de hoogte van het aantal gescrollde pixels, boven het voorste blokje.
Dit is mijn code:
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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
| //aanmaken availframes array
availFrames = new Array ();
availFrames[0] = Array ("topframe", 0, 0, 0, 0); //naam,breedte,hoogte,correctie X,correctie Y
availFrames[1] = Array ("leftframe", 0, 0, 0, 0);
availFrames[2] = Array ("mainframe", 0, 0, 0, 0);
//variable waarin de naam word vastgelegd van de frame waar nu in gewerkt wordt
var currentFrame = this.name;
var activeFrame = this.name;
function windowResize () {
for (h=0; h<availFrames.length; h++) {
availFrames[h][1] = parent.document.all(availFrames[h][0]).Width;
availFrames[h][2] = parent.document.all(availFrames[h][0]).Height;
}
switch (currentFrame) {
case availFrames[0][0]: //wanneer we in frame topframe zitten
availFrames[1][4] = -availFrames[0][2]; //leftframe correctie Y = leftframe hoogte - topframe hoogte
availFrames[2][3] = -availFrames[1][1]; //mainframe correctie X = mainframe breedte - leftframe breedte
availFrames[2][4] = -availFrames[0][2]; //mainframe correctie Y = mainframe hoogte - topframe hoogte
break;
case availFrames[1][0]: //wanneer we in frame leftframe zitten
availFrames[0][4] = availFrames[0][2]; //topframe correctie Y = topframe hoogte
availFrames[2][3] = -availFrames[1][1]; //mainframe correctie X = mainframe brredte - leftframe breedte
break;
case availFrames[2][0]: //wanneer we in frame mainframe zitten
availFrames[0][3] = availFrames[1][1]; //topframe correctie X = leftframe breedte
availFrames[0][4] = availFrames[0][2]; //topframe correctie Y = topframe hoogte
availFrames[1][3] = availFrames[1][1]; //leftframe correctie X = leftframe breedte
break;
}
}
//------------------------------------------ Frames hierboven --------------------------------------------------
//------------------------------------------ Nu volgt Balls --------------------------------------------------
//--------- Aanmaken van ballen -----------
images=new Array ("ball.bmp",40,40,"ball.bmp",40,40,"ball.bmp",40,40,"ball.bmp",40,40,"ball.bmp",40,40,"ball.bmp",40,40,"ball.bmp",40,40,"ball.bmp",40,40,"ball.bmp",40,40,"ball.bmp",40,40);
nob=parseInt (images.length/3); // number of balls
for (h=0; h < nob; h++){
// Naam ster, begin positie X, begin positie Y, breedte, hoogte, definitie image HTML code
createBall ("ball"+h, -200, -200, images[(h*3+1)], images[(h*3+2)], "<img src='"+images[h*3]+"' width="+images[(h*3+1)]+" height="+images[(h*3+2)]+" border=0>");
}
function createBall (N, Xp, Yp, W, H, Img){ //div id, xpos, ypos, width, height, img
with (document){
write("<div id='"+N+"'"+" style='position:absolute;left:"+Xp+"; top:"+Yp+"; width:"+W+"; height:"+H+";'>");
write(Img); // afbeelding ster wordt neergezet
write("</div>"); // einde layer/div
}
}
//---------- einde aanmaken ballen -----------
B = document.all;
function followmouse () {
correctTop = parent.frames(availFrames[2][0]).document.body.scrollTop;
xpos = event.clientX;
ypos = event.clientY;
parent.frames(availFrames[2][0]).B["ball" + (nob-1)].style.left = xpos + availFrames[2][3];
parent.frames(availFrames[2][0]).B["ball" + (nob-1)].style.top = ypos + availFrames[2][4] + correctTop;
parent.frames(availFrames[1][0]).B["ball" + (nob-1)].style.left = xpos + availFrames[1][3];
parent.frames(availFrames[1][0]).B["ball" + (nob-1)].style.top = ypos + availFrames[1][4];
parent.frames(availFrames[0][0]).B["ball" + (nob-1)].style.left = xpos + availFrames[0][3];
parent.frames(availFrames[0][0]).B["ball" + (nob-1)].style.top = ypos + availFrames[0][4];
for (i=0;i<(nob-1);i++){
xposi = parseInt(B["ball"+(i+1)].style.left);
yposi = parseInt(B["ball"+(i+1)].style.top);
correctTop = parent.frames(availFrames[2][0]).document.body.scrollTop;
parent.frames(availFrames[2][0]).B["ball" + i].style.left = xposi + availFrames[2][3];
parent.frames(availFrames[2][0]).B["ball" + i].style.top = yposi + availFrames[2][4];
parent.frames(availFrames[1][0]).B["ball" + i].style.left = xposi + availFrames[1][3];
parent.frames(availFrames[1][0]).B["ball" + i].style.top = yposi + availFrames[1][4];
parent.frames(availFrames[0][0]).B["ball" + i].style.left = xposi + availFrames[0][3];
parent.frames(availFrames[0][0]).B["ball" + i].style.top = yposi + availFrames[0][4];
}
}
setTimeout ('document.onmousemove = followmouse ', 500); |
de functie window resize word aangeroepen in alle body's van de html pagina's. en op het moment dat er een window geresized wordt.
Ik lees al de scrollhoogte uit en tel die op bij de hoogte van het mainframe. dit werkt wel, maar dan komen de blokjes die moeten volgen eronder.
Een voorbeeld van deze pagina is te zien op:
http://home.wanadoo.nl/aahugens/testopdracht/
Als iemand mij kan helpen, graag!
Bij voorbaat dank,
Nick