Javascript positionering werkt niet in IE6

Pagina: 1
Acties:

  • WimB
  • Registratie: Juli 2001
  • Laatst online: 30-03-2024
Ik heb een script dat ik gebruik om, bij een mousover, rechtsonder de muis een image te laten verschijnen. Dit gebruik ik om, als de gebruiker over een link gaat, hem al iets over die link te laten zien.

Dit script werkt perfect in Netscape en in IE tot versie 5. Weet er iemand wat er veranderd is aan de javascript positionering van IE6?

Hier volgt mijn script. Let op, dit is geen script request, ik vraag enkel tips over hoe de positionering in IE6 is herzien tegenover vorige versies.

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
<HTML>
<HEAD>
<STYLE TYPE="text/css">
<!--
#dek {POSITION:absolute;VISIBILITY:hidden;Z-INDEX:200;}
//-->
</STYLE>
<TITLE>Test</TITLE>
</HEAD>
<BODY>
<DIV ID="dek"></DIV>

<SCRIPT TYPE="text/javascript">
<!--

Xoffset= 10;    // 10 pixels rechts van muispositie
Yoffset= 10;    // 10 pixels onder muispositie

var old,skn,iex=(document.all),yyy=-1000;

var ns4=document.layers
var ns6=document.getElementById&&!document.all
var ie4=document.all

if (ns4)
skn=document.dek
else if (ns6)
skn=document.getElementById("dek").style
else if (ie4)
skn=document.all.dek.style
if(ns4)document.captureEvents(Event.MOUSEMOVE);
else{
skn.visibility="visible"
skn.display="none"
}
document.onmousemove=get_mouse;

function popup(foto){
var content="[img]"+foto+"[/img]";
yyy=Yoffset;
 if(ns4){skn.document.write(content);skn.document.close();skn.visibility="visible"}
 if(ns6){document.getElementById("dek").innerHTML=content;skn.display=''}
 if(ie4){document.all("dek").innerHTML=content;skn.display=''}
}

function get_mouse(e){
var x=(ns4||ns6)?e.pageX:event.x+document.body.scrollLeft;
skn.left=x+Xoffset;
var y=(ns4||ns6)?e.pageY:event.y+document.body.scrollTop;
skn.top=y+yyy;
}

function kill(){
yyy=-1000;
if(ns4){skn.visibility="hidden";}
else if (ns6||ie4)
skn.display="none"
}

//-->
</SCRIPT>

<a href="http://gathering.tweakers.net" ONMOUSEOVER="popup('logo.gif')"; ONMOUSEOUT="kill()">Gathering of Tweakers</a>

</BODY>
</HTML>

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 07:40
Webdesign & Graphics
Het forum voor webdesign, (D)HTML, Javascript, graphics, 3D-rendering, Flash en alles wat ermee te maken heeft.
Hier dus:
http://gathering.tweakers.net/listtopics/13

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

P&W -> W&G

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Werkt hier prima in IE6 hoor. Ik raad je echter wel aan het DOM model te gebruiken voor IE5+

Intentionally left blank


  • WimB
  • Registratie: Juli 2001
  • Laatst online: 30-03-2024
crisp schreef op 15 augustus 2002 @ 21:56:
Werkt hier prima in IE6 hoor. Ik raad je echter wel aan het DOM model te gebruiken voor IE5+
Bij mij werkt het ook perfect in IE6 als ik in helemaal bovenaan de pagina ben gescrolld.

Maar als ik de link onderaan een pagina zet en ik moet ernaar scrollen, dan zet hij de afbeelding te hoog. Hij zet hem zoveel hoger dan ik naar beneden ben gescrolld. Als ik dus 5 cm naar beneden in de pagina scroll, dan zet hij de afbeelding 5 cm te hoog.

Werkt het bij jou ook als je de link ergens onderaan de pagina zet en naar beneden scrollt?

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

WimB schreef op 15 augustus 2002 @ 22:00:
[...]


Bij mij werkt het ook perfect in IE6 als ik in helemaal bovenaan de pagina ben gescrolld.

Maar als ik de link onderaan een pagina zet en ik moet ernaar scrollen, dan zet hij de afbeelding te hoog. Hij zet hem zoveel hoger dan ik naar beneden ben gescrolld. Als ik dus 5 cm naar beneden in de pagina scroll, dan zet hij de afbeelding 5 cm te hoog.

Werkt het bij jou ook als je de link ergens onderaan de pagina zet en naar beneden scrollt?
Jep, werkt ook prima

Intentionally left blank


  • WimB
  • Registratie: Juli 2001
  • Laatst online: 30-03-2024
crisp schreef op 15 augustus 2002 @ 22:11:
[...]

Jep, werkt ook prima
Zeer vreemd, zou je deze pagina eens willen proberen: http://www.acato.be/test/panden.php

De links onderaan de pagina (bij te huur) doen het bij mij niet goed onder Windows XP met IE6

Ik heb wel mijn STYLE in een extern CSS bestand zitten:
code:
1
2
3
4
5
6
BASEFONT {face:sans-serif; size:-1; font-family:sans-serif}
H1, H2, H3 {font-family:sans-serif}
A {text-decoration:none}
A:link, A:visited {color:blue}
A:hover {color:red}
#dek {POSITION:absolute;VISIBILITY:hidden;Z-INDEX:200;}

De laatste regel is voor de popups

Zou dat er iets mee te maken kunnen hebben?

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Ik denk dat het komt doordat je pagina niet goed valideerd...

Intentionally left blank


  • Morrar
  • Registratie: Juni 2002
  • Laatst online: 31-08 12:55
Misschien is het probleem ook dat je event.clientX en event.clientY moet hebben...

  • RM-rf
  • Registratie: September 2000
  • Laatst online: 10:32

RM-rf

1 2 3 4 5 7 6 8 9

net zoals in dit topic vermoed ik dat dit ligt aan de DOCTYPE bij msie6;
document.body wordt dan document.documentElement:

code:
1
document.body.scrollLeft
retourneert in msie6 met DOCTYPE 0, maar zonder wel de AVertical scrolling offset;
voor msie wil je document.documentElement.scrollLeft gebruiken voor de juiste waarde

http://www.xs4all.nl/~ppk/js/doctypes.html

Intelligente mensen zoeken in tijden van crisis naar oplossingen, Idioten zoeken dan schuldigen


  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

RM-rf schreef op 16 augustus 2002 @ 00:51:
net zoals in dit topic vermoed ik dat dit ligt aan de DOCTYPE bij msie6;
document.body wordt dan document.documentElement:

code:
1
document.body.scrollLeft
retourneert in msie6 met DOCTYPE 0, maar zonder wel de AVertical scrolling offset;
voor msie wil je document.documentElement.scrollLeft gebruiken voor de juiste waarde

http://www.xs4all.nl/~ppk/js/doctypes.html
Ik heb hier inderdaad zelf ook wel eens problemen mee gehad, maar als ik de link uit de DT haalde ging het meestal wel weer goed; dus ipv:
code:
1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">

dit:
code:
1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

Intentionally left blank


  • WimB
  • Registratie: Juli 2001
  • Laatst online: 30-03-2024
crisp schreef op 16 augustus 2002 @ 08:15:
[...]

Ik heb hier inderdaad zelf ook wel eens problemen mee gehad, maar als ik de link uit de DT haalde ging het meestal wel weer goed; dus ipv:
code:
1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" .......

dit:
code:
1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
Bedankt, het probleem is opgelost door die bovenste regel aan te passen

  • WimB
  • Registratie: Juli 2001
  • Laatst online: 30-03-2024
crisp schreef op 15 augustus 2002 @ 22:42:
Ik denk dat het komt doordat je pagina niet goed valideerd...
Het kwam niet doordat de pagina niet goed valideert, maar toch bedankt.
Ik heb er dan ineens maar even voor gezorgd dat de validatie in orde is ;)
Pagina: 1