/ Forside / Teknologi / Udvikling / Java Scripts / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java Scripts
#NavnPoint
molokyle 5410
Klaudi 2799
smorch 2439
kim 1360
Harlekin 1134
bentjuul 984
gibson 800
severino 695
Random 675
10  konsulent.. 626
Javascript If ting
Fra : Peter Nielsen


Dato : 17-08-07 10:05

Hej NG

Jeg er bare en klovn til javascript, så vil høre om i kan finde min fejl :)

Jeg har et layer som jeg gerne vil have til at komme frem som en slags
popupboks på skærmen i ved.. med visibility: hidden

function test(todo) {
if(todo="close") {
document.getElementById("layer1").style.visibility = "hidden";
document.getElementById("layer1").style.position = "absolute";
document.getElementById("layer1").style.top = "200px";
document.getElementById("layer1").style.right = "100px";
}
}

function test2(todo) {
if(todo="open") {
document.getElementById("layer1").style.visibility = "visible";
document.getElementById("layer1").style.position = "absolute";
document.getElementById("layer1").style.top = "200px";
document.getElementById("layer1").style.right = "100px";
}
}


Når layeret hedder layer1 og man kalder det med javascript:test(close) og
test2(open)

Så virker lortet...

Men nu vil jeg jo gerne være smart og smide det lidt sammen... og prøve at
kalde alt med javascript:test(open,layer1) og test(close,layer1) så jeg ikk
ska ha 2 functions og kan have flere layers...

så ville jeg jo mene at javascripten så sådan her ud:

function test(todo,fieldName) {
if(todo="close") {
document.getElementById(fieldName).style.visibility = "hidden";
document.getElementById(fieldName).style.position = "absolute";
document.getElementById(fieldName).style.top = "200px";
document.getElementById(fieldName).style.right = "100px";
}


if(todo="open") {
document.getElementById(fieldName).style.visibility = "visible";
document.getElementById(fieldName).style.position = "absolute";
document.getElementById(fieldName).style.top = "200px";
document.getElementById(fieldName).style.right = "100px";
}
}

Men det virker ikke... nogle der kan hjælpe :)

MVH

Peter Nielsen



 
 
Marten Ølgaard (17-08-2007)
Kommentar
Fra : Marten Ølgaard


Dato : 17-08-07 10:54

Når du skal sammenligne om to værdier er ens skal du bruge to =. En = bruges
til at angive en variabels værdi.

if(todo="open") => todo får her værdien "open"

if(todo=="open") => der bliver her forespurgt om todo har værdien "open"

--
Marten Ølgaard

http://www.comonto.dk
http://www.beerrater.dk
http://www.b2net.dk

"Peter Nielsen" <pedn@pedn.dk> skrev i en meddelelse
news:46c564c3$0$2714$edfadb0f@dread15.news.tele.dk...
> Hej NG
>
> Jeg er bare en klovn til javascript, så vil høre om i kan finde min fejl
> :)
>
> Jeg har et layer som jeg gerne vil have til at komme frem som en slags
> popupboks på skærmen i ved.. med visibility: hidden
>
> function test(todo) {
> if(todo="close") {
> document.getElementById("layer1").style.visibility = "hidden";
> document.getElementById("layer1").style.position = "absolute";
> document.getElementById("layer1").style.top = "200px";
> document.getElementById("layer1").style.right = "100px";
> }
> }
>
> function test2(todo) {
> if(todo="open") {
> document.getElementById("layer1").style.visibility = "visible";
> document.getElementById("layer1").style.position = "absolute";
> document.getElementById("layer1").style.top = "200px";
> document.getElementById("layer1").style.right = "100px";
> }
> }
>
>
> Når layeret hedder layer1 og man kalder det med javascript:test(close) og
> test2(open)
>
> Så virker lortet...
>
> Men nu vil jeg jo gerne være smart og smide det lidt sammen... og prøve at
> kalde alt med javascript:test(open,layer1) og test(close,layer1) så jeg
> ikk ska ha 2 functions og kan have flere layers...
>
> så ville jeg jo mene at javascripten så sådan her ud:
>
> function test(todo,fieldName) {
> if(todo="close") {
> document.getElementById(fieldName).style.visibility = "hidden";
> document.getElementById(fieldName).style.position = "absolute";
> document.getElementById(fieldName).style.top = "200px";
> document.getElementById(fieldName).style.right = "100px";
> }
>
>
> if(todo="open") {
> document.getElementById(fieldName).style.visibility = "visible";
> document.getElementById(fieldName).style.position = "absolute";
> document.getElementById(fieldName).style.top = "200px";
> document.getElementById(fieldName).style.right = "100px";
> }
> }
>
> Men det virker ikke... nogle der kan hjælpe :)
>
> MVH
>
> Peter Nielsen
>
>



Peter Nielsen (17-08-2007)
Kommentar
Fra : Peter Nielsen


Dato : 17-08-07 11:52


> if(todo="open") => todo får her værdien "open"
>
> if(todo=="open") => der bliver her forespurgt om todo har værdien "open"

ah... jamen hvornår bruger man så = ? altså så ville jeg da altid bruge ==
ville man ik?

Men det virker da nu... så sku jeg også lige lave linket sådan her <a
href="javascript:test('open','layer1');">

Tænkte mig selv til at de sku i ' ' ... når det nu var en string

Men du får tak :)

Peter



Erik Ginnerskov (17-08-2007)
Kommentar
Fra : Erik Ginnerskov


Dato : 17-08-07 12:55

Peter Nielsen wrote:
>> if(todo="open") => todo får her værdien "open"
>>
>> if(todo=="open") => der bliver her forespurgt om todo har værdien
>> "open"
>
> ah... jamen hvornår bruger man så = ? altså så ville jeg da altid
> bruge == ville man ik?

Når man bruger et =, tildeler man en værdi til noget.

Når man bruger to =, tjekker man værdien af noget.

--
Med venlig hilsen
Erik Ginnerskov
http://hjemmesideskolen.dk/ - http://ginnerskov.dk/
http://html-faq.dk



Martin (17-08-2007)
Kommentar
Fra : Martin


Dato : 17-08-07 13:49

Peter Nielsen wrote:
>> if(todo="open") => todo får her værdien "open"
>>
>> if(todo=="open") => der bliver her forespurgt om todo har værdien "open"
>
> ah... jamen hvornår bruger man så = ? altså så ville jeg da altid bruge ==
> ville man ik?

I en IF sætning vil man altid bruge 2 = eller 3 =
(3 = gider jeg ikke forklare ligenu, den vil du højst sandsynligt aldrig
bruge alligevel :)

Men 1 = bruges fx.

var s = '';
var todo = 'open';

if(todo=='open') {
s = todo;
}
// s er nu ligmed open

Jens Gyldenkærne Cla~ (17-08-2007)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 17-08-07 14:30

Marten Ølgaard skrev:

> if(todo="open") => todo får her værdien "open"

- og if-sætningen skal læses som:

   "Hvis todo kan sættes lig 'open' så..."

Det er noget helt andet end:

   "Hvis todo er lig 'open' så..."


En simpel tildeling (her todo="open") går altid godt, så med et
enkelt lighedstegn vil den være sand uanset hvad der todo
indeholder.


--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Jørgen Farum Jensen (17-08-2007)
Kommentar
Fra : Jørgen Farum Jensen


Dato : 17-08-07 13:08

Peter Nielsen skrev:
> Hej NG
>
> Jeg er bare en klovn til javascript, så vil høre om i kan finde min fejl :)
>
> Jeg har et layer som jeg gerne vil have til at komme frem som en slags
> popupboks på skærmen i ved.. med visibility: hidden
>
> function test(todo) {
> if(todo="close") {
> document.getElementById("layer1").style.visibility = "hidden";
> document.getElementById("layer1").style.position = "absolute";
> document.getElementById("layer1").style.top = "200px";
> document.getElementById("layer1").style.right = "100px";
> }
> }
>
> function test2(todo) {
> if(todo="open") {
> document.getElementById("layer1").style.visibility = "visible";
> document.getElementById("layer1").style.position = "absolute";
> document.getElementById("layer1").style.top = "200px";
> document.getElementById("layer1").style.right = "100px";
> }
> }
>
>
> Når layeret hedder layer1 og man kalder det med javascript:test(close) og
> test2(open)
>
> Så virker lortet...
>
> Men nu vil jeg jo gerne være smart og smide det lidt sammen... og prøve at
> kalde alt med javascript:test(open,layer1) og test(close,layer1) så jeg ikk
> ska ha 2 functions og kan have flere layers...
>
> så ville jeg jo mene at javascripten så sådan her ud:
>
> function test(todo,fieldName) {
> if(todo="close") {
> document.getElementById(fieldName).style.visibility = "hidden";
> document.getElementById(fieldName).style.position = "absolute";
> document.getElementById(fieldName).style.top = "200px";
> document.getElementById(fieldName).style.right = "100px";
> }
>
>
> if(todo="open") {
> document.getElementById(fieldName).style.visibility = "visible";
> document.getElementById(fieldName).style.position = "absolute";
> document.getElementById(fieldName).style.top = "200px";
> document.getElementById(fieldName).style.right = "100px";
> }
> }
>
> Men det virker ikke... nogle der kan hjælpe :)

Det være du kan bruge denne side:

http://webdesign101.dk/javascript/visogskjul.php

--

Med venlig hilsen
Jørgen Farum Jensen
Håndbog i webdesign: http://webdesign101.dk/wwwbog/udgave2/
Webdesign med stylesheets: http://webdesign101.dk/cssbog/
..

Jørgen Sørensen (17-08-2007)
Kommentar
Fra : Jørgen Sørensen


Dato : 17-08-07 16:46

"Peter Nielsen" <pedn@pedn.dk> skrev i en meddelelse
news:46c564c3$0$2714$edfadb0f@dread15.news.tele.dk...
> Hej NG
>
> Jeg er bare en klovn til javascript, så vil høre om i kan finde min fejl
:)

Noget grundlæggende på 17 sider om JavaScript
http://www.jososoft.dk/js.pdf
Ikke perfekt og ejheller helt opdateret; men det virker!
/Jørgen



Søg
Reklame
Statistik
Spørgsmål : 177458
Tips : 31962
Nyheder : 719565
Indlæg : 6408173
Brugere : 218881

Månedens bedste
Årets bedste
Sidste års bedste