Toon posts:

[dhtml & javascript] Layer positioneren

Pagina: 1
Acties:

Verwijderd

Topicstarter
Het volgende werkt goed onder internet explorer, maar niet onder mozilla. Weten jullie misschien waar dit aan ligt?
Voor het werkende voorbeeld: http://theozman.mine.nu/menu1.html

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
<script Language=javascript>
var W3C = document.getElementById? true : false;
var NN4 = document.layers? true : false;
var IE4 = document.all? true : false;

function show(layerName)
{
    if (W3C)
    {
        document.getElementById(layerName).style.visibility = "visible";
    }
    else if (IE4) 
    {
        document.all[layerName].style.visibility = "visible";
    }
    else if(NN4) 
    {
        document.layers[layerName].visibility = "show";
    }
}

function hide(layerName)
{
    if (W3C)
    {
        document.getElementById(layerName).style.visibility = "hidden";
    }
    else if (IE4) 
    {
        document.all[layerName].style.visibility = "hidden";
    }
    else if(NN4)
    {
        document.layers[layerName].visibility = "hidden";
    }
}

function moveForth(layerName)
{
    if (W3C)
    {
        document.getElementById(layerName).style.top = 0;
    }
    else if (IE4) 
    {
        document.all[layerName].style.top =0;
    }
    else if(NN4) 
    {
        document.layers[layerName].top = 0;
    }
}

</script>
<a target=main onmouseover="javascript:show('menu1');moveForth('menu2_header');">
    [img]images/interact.gif></a><br>
<div[/img]
    <a href=agenda.php target=main>[img]images/agenda.gif[/img]</a><br>
    <a href=mboard.php target=main>[img]images/mboard.gif[/img]</a><br>
    <a href=topics.php target=main>[img]images/forum.gif[/img]</a><br>
    <a href=poll.php target=main>[img]images/poll.gif[/img]</a><br>
</div>
<div id='menu2_header' style='position:relative; top:-96;'>
    <a target=main onmouseover="javascript:show('menu2');" >
        [img]images/fun.gif></a><br>
    <div[/img]
        <a href=user.php target=main>[img]images/gegevens.gif[/img]</a><br>
        <a href=photos.php target=main>[img]images/fotos.gif[/img]</a><br>
        <a href=spamstats.php target=main>[img]images/stats.gif[/img]</a><br>
    </div>
</div>

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

code:
1
document.getElementById(layerName).style.top = 0;

0 wat? appels? peren? pixels misschien?

Intentionally left blank


  • André
  • Registratie: Maart 2002
  • Laatst online: 19-08 12:30

André

Analytics dude

crisp bedoelt:
code:
1
document.getElementById(layerName).style.top = "0px";

[ Voor 9% gewijzigd door André op 08-05-2003 16:43 . Reden: crisp zonder hoofdletter ]


  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 19-08 22:14

Bosmonster

*zucht*

crisp schreef op 08 May 2003 @ 16:34:
code:
1
document.getElementById(layerName).style.top = 0;

0 wat? appels? peren? pixels misschien?
Maakt dat uit dan? Is 0 peren meer dan 0 appels? :)

Verwijderd

Topicstarter
OK... Dat verklaart waarom document.getElementByID(layername).style.top += "100" niet werkt.

Hoe zou ik het volgende het makkelijkst kunnen doen?
code:
1
document.getElementByID(layer1).style.top = document.getElementByID(layer2).style.top + 100;


Maar dan correct...

[ Voor 3% gewijzigd door Verwijderd op 08-05-2003 16:56 ]


  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 19-08 22:14

Bosmonster

*zucht*

document.getElementByID(layer1).style.top = (parseInt(document.getElementByID(layer1).style.top) + 100) + "px";

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Bosmonster schreef op 08 May 2003 @ 16:53:
[...]
Maakt dat uit dan? Is 0 peren meer dan 0 appels? :)
waarom nemen al die nullen dan toch ruimte in op mijn harde schijf? ;)

Intentionally left blank


  • Clay
  • Registratie: Oktober 1999
  • Laatst online: 22-06 13:51

Clay

cookie erbij?

:z er zijn 10 soorten mensen; diegenen die wel binair kunnen tellen, en diegenen die dat niet kunnen :z :P (vrij vertaald uit het engels)

en ik dacht idd ook dat je 0 zonder eenheid mag gebruiken, omdat het toch niet uitmaakt.

Instagram | Flickr | "Let my music become battle cries" - Frédéric Chopin


Verwijderd

Topicstarter
Je mag inderdaad 0 zonder eenheid gebruiken. Tot mijn verbazing werkt alles nou zonder dat ik wat heb veranderd.
document.getElementByID(layer1).style.top = (parseInt(document.getElementByID(layer1).style.top) + 100) + "px";
Dit werkt helaas niet. Als je
code:
1
2
var c =document.getElementByID(layer1).style.top;
document.write(parseInt(c));

doet, krijg je "NaN" (Wat volgens mij staat voor Not A Number). Ik hoop dat iemand hier toch een antwoord op heeft.

Verwijderd

Clay schreef op 08 May 2003 @ 19:41:
:z er zijn 10 soorten mensen; diegenen die wel binair kunnen tellen, en diegenen die dat niet kunnen :z :P (vrij vertaald uit het engels)
/me dacht 'Huh?', en toen :D
en ik dacht idd ook dat je 0 zonder eenheid mag gebruiken, omdat het toch niet uitmaakt.
In CSS i.i.g. wel, maar misschien dat je het in JavaScript toch eerst naar een string moet casten?
Özzy schreef op 10 May 2003 @ 17:26:
Dit werkt helaas niet. Als je
code:
1
2
var c =document.getElementByID(layer1).style.top;
document.write(parseInt(c));

doet, krijg je "NaN" (Wat volgens mij staat voor Not A Number). Ik hoop dat iemand hier toch een antwoord op heeft.
style.top en style.left, etc, zijn leeg (undefined) als ze niet hard via CSS of JavaScript aan een element zijn gekoppeld. Met 'hard' bedoel ik:
  • inline styles (style="top:2px")
  • met ID's (id="bla", #bla {top:2px;} )
  • met JavaScript Obj.style.top='2px';
Als dit niet het geval is moet je met andere middelen gaan werken. Kijk eens hier http://www.xs4all.nl/~ppk/js/getstyles.html voor andere methodes.

[ Voor 8% gewijzigd door Verwijderd op 11-05-2003 12:22 ]

Pagina: 1