Avatar billede jenslund Juniormester
03. oktober 2003 - 12:40 Der er 13 kommentarer og
2 løsninger

JavaScript variabel i <div style

Hej

Jeg har klippe klistret mig frem til følgende:

<script language="JavaScript">
var ns, ns6, ie;

ns  = (document.layers) ? true : false;
ns6 = (document.getElementById) ? true : false;
ie  = (document.all) ? true : false;
xwidth = screen.width-800;
xpos = xwidth/2;
x = xpos+100;
y = 100;

function getLayerStyle( lyr ){
if( ns ){
return document.layers[lyr];
} else if( ie ){
return document.all[lyr].style;
} else if( ns6 ){
return document.getElementById(lyr).style;
}
}

function ShowHide(layer){
newlayer = getLayerStyle(layer)
if (newlayer.visibility == "hidden") {
newlayer.visibility = "visible";
}
else if (newlayer.visibility == "visible") {
newlayer.visibility = "hidden";
}
}
</script>
</head>

<body>

<DIV STYLE="top:100px;left:100px;position:absolute;">
<IMG  SRC="landscape.jpg" BORDER="0" WIDTH="160" HEIGHT="120" ALIGN="bottom" ALT="">
</div>
<div STYLE="top:100px;left:100px;position:absolute;width:160px;height:120px;font-size:0.5em;" onmouseover="java script:ShowHide('mitlayer1')" onmouseout="java script:ShowHide('mitlayer1')">HEJ MED DIG
<div name="mitlayer1" id="mitlayer1" style="background-color: #333333; visibility: hidden;font-size:2.5em;top:0px;left:0px;position:absolute;">
  <img src="2.gif">
</div></div>
</body> osv..

Det jeg godt vil opnå er at variablerne x (og y) kommer til at stå der hvor der står
<div STYLE="top:100px;left:100px ...

Kan det lade sig gøre

Pointen er at få et ikon til at ligge på et areamap og være clickable

Jens
Avatar billede jenslund Juniormester
03. oktober 2003 - 12:47 #1
Koden er lidt rodet - i'm sorry - jeg er helt færdig med at rydde op i den
Avatar billede di8leva Nybegynder
03. oktober 2003 - 13:07 #2
like this måske: (det virker)

<script language="JavaScript">
var ns, ns6, ie;

ns = (document.layers) ? true : false;
ns6 = (document.getElementById) ? true : false;
ie = (document.all) ? true : false;
xwidth = screen.width-800;
xpos = xwidth/2;
x = xpos+100;
y = 100;

function getLayerStyle( lyr ){
if( ns ){
return document.layers[lyr];
} else if( ie ){
return document.all[lyr].style;
} else if( ns6 ){
return document.getElementById(lyr).style;
}
}

function ShowHide(layer){
newlayer = getLayerStyle(layer)
if (newlayer.visibility == "hidden") {
newlayer.visibility = "visible";
}
else if (newlayer.visibility == "visible") {
newlayer.visibility = "hidden";
}
}
</script>
</head>

<body>
<script language="JavaScript">
document.write("<DIV STYLE='top:" + y + "px;left:" + x + "px;position:absolute;'>")
</script>
<IMG SRC="landscape.jpg" BORDER="0" WIDTH="160" HEIGHT="120" ALIGN="bottom" ALT="">
</div>
<div STYLE="top:100px;left:100px;position:absolute;width:160px;height:120px;font-size:0.5em;" onmouseover="java script:ShowHide('mitlayer1')" onmouseout="java script:ShowHide('mitlayer1')">HEJ MED DIG
<div name="mitlayer1" id="mitlayer1" style="background-color: #333333; visibility: hidden;font-size:2.5em;top:0px;left:0px;position:absolute;">
<img src="2.gif">
</div></div>
</body> osv..
Avatar billede roenving Novice
03. oktober 2003 - 22:34 #3
-- og du har klippet for meget, for hvis du skal understøtte NS4 (layers) hedder visible ikke 'hidden' men 'hide' -- men det kan vel let rettes ...

>>di8leva

-- når du fortæller om et cross-browser-script at det virker skal du vel også fortælle at du har prøvet det i den sidste nye Internet Explorer ...

-- vel ikke andet ?-)
Avatar billede olebole Juniormester
08. oktober 2003 - 08:34 #4
<ole>

NS4 forstår helt fint 'visible' og 'hidden', når property'en sættes.
_Kun_ når man spørger til property'ens værdi, får man returneret 'show' og 'hide'.

/mvh
</bole>
Avatar billede roenving Novice
12. oktober 2003 - 14:09 #5
-- hvilket der præcis gøres i ShowHide() ...
Avatar billede olebole Juniormester
12. oktober 2003 - 22:27 #6
Yups, der gør der (bland andet) - men misforståelsen er forbløffende udbredt ... derfor min kommentar  :)
/mvh
Avatar billede roenving Novice
13. oktober 2003 - 03:12 #7
-- egentlig noget rod !-)
Avatar billede olebole Juniormester
13. oktober 2003 - 03:31 #8
Du skal ikke kalde mig 'rod' ...!  :D
Avatar billede roenving Novice
13. oktober 2003 - 03:35 #9
Kan du ikke lide de alternative navne *lol*

-- men det er faksiskt noget skidt, at man skal kalde den noget forskelligt når man spø'r og når man kalder !-)
Avatar billede olebole Juniormester
13. oktober 2003 - 03:38 #10
Ja, det er vist også kun de første NS4-versioner, der havde den særhed. Så vidt jeg husker blev det ændret et sted i rækken af versioner, så man kunne vælge frit ....... men hvornår ...? Mine NS4-færdigheder er ved at blive rustne  :)
Avatar billede roenving Novice
13. oktober 2003 - 03:43 #11
Hvis de nu snart kom med en 4.8 som også forstod css kunne det jo være, at den rykkede !-)
Avatar billede olebole Juniormester
13. oktober 2003 - 03:59 #12
Ja, eller man kunne få Stalin, Hitler og Franco til at opføre sig ordentligt ... men ak, sådan er det med historie  :)
Hvad undskyldningen så evt. måtte være for Sharon og Bush, skal vi nok ikke starte en debat om her  :D

I betragtning af, NS4 slet ikke havde CSS implementeret, var det nu forbløffende, så meget CSS den trods alt forstod.

Well, hvis ikke der skal komme nogen forbi og råbe en masse versaler, hvori indgår 'C', 'H', 'A', 'T', 'R', 'O', 'O' og 'M', må vi nok hellere prøve at styre os lidt  ;o)
/mvh
Avatar billede jenslund Juniormester
09. marts 2004 - 14:52 #13
Hej alle tre

Jeg sidder lige og rydder op i gamle sps på Eksperten og finder det her som jeg ikke har meldt tilbage på. Jeg mener jeg fandt en anden løsning på problemet.

Men I har brugt tid på det her - så jeg ville høre om roenving og olebole vil smide et svar så i alle tre kan dele point i porten. Hvis i ikke svarer inden 24 timer tager jeg som et udtryk for I ikke vil have point. I givet fald beholder jeg 'jeres' point selv.

Det er ikke for at sanke point - men mere for at afslutte sps.

vh
Jens
Avatar billede roenving Novice
09. marts 2004 - 16:13 #14
Arh, kommentarer som dem, jeg kom med takserer jeg da ikke til points !-)
Avatar billede jenslund Juniormester
13. marts 2004 - 09:50 #15
Lukker spørgsmålet - og splitter point 50/50 med di8leva
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester