Avatar billede flashnoob Nybegynder
17. marts 2007 - 13:36 Der er 16 kommentarer og
1 løsning

Hvorfor skal jeg klikke 2 gange?

Hej
Et simpelt spørsmål, som jeg ikke kan knække. Hvorfor skal jeg trykke 2 gange før <div>'en vises på linket der bruger følgende JavaScript?

-----------JavaScript------------
function displayElement(index){
var $index = index;
if(document.getElementById($index).style.display == 'none'){
document.getElementById($index).style.display = 'block';
} else{
document.getElementById($index).style.display = 'none';
}
}

-----------Link der skal vise <div>------------
<a onclick="java script: displayElement('vis'); return false;" style="cursor:pointer;">Klik her</a>

<div style='display:none;' id='vis'>Denne tekst vises</div>
Avatar billede roenving Novice
17. marts 2007 - 13:41 #1
Du har vel din style i et stylesheet, prøv i stedet:

function displayElement(index){
  var elmStyle = document.getElementById(index).style;
  elmStyle.display = elmStyle.display != "block" : "block" : "none";
}
Avatar billede flashnoob Nybegynder
17. marts 2007 - 14:31 #2
Hej roenving, tak for svar :)
Ja, jeg har mine styles i et stylesheet..
Med dit forslag skal jeg stadig klikke 2 gange?
Avatar billede roenving Novice
17. marts 2007 - 14:36 #3
Er du sikker på, at du har copy/pastet ?-)

-- jeg er nemlig selv gået over til altid at spørge negativt, for hvis en style-property er sat i et stylesheet hører den ikke til elementet før den bliver sat med scriptet ...
Avatar billede roenving Novice
17. marts 2007 - 14:48 #4
Arg, en tavetosse:

function displayElement(index){
  var elmStyle = document.getElementById(index).style;
  elmStyle.display = elmStyle.display != "block" ? "block" : "none";
}
Avatar billede flashnoob Nybegynder
17. marts 2007 - 14:54 #5
Ja, jeg har Copy/pastet :)
Hmm... Jeg bliver nødt til lige at kigge det efter senere.
Jeg vender tilbage, tak for hjælpen indtil videre.
Avatar billede flashnoob Nybegynder
18. marts 2007 - 15:51 #6
Hov.. havde ikke set din kommentar! Efter jeg satte den kode ind virker det! :D
Tusind tak. Smider du lige et svar ;)
Avatar billede roenving Novice
19. marts 2007 - 01:01 #7
Velbekomme '-)
Avatar billede flashnoob Nybegynder
19. marts 2007 - 22:14 #8
Tak igen ;)
Kan du evt. kort forklare koden? Jeg har set andre lave noget lignende != "block" ? "block" : "none"; i php... er det else if - statements eller?
Avatar billede roenving Novice
19. marts 2007 - 22:23 #9
Jeps, det er den ternære operator (altså en operator i tre dele !-)

variabel = betingelse ? "værdi hvis betingelse er sand" : "værdi hvis betingelse er falsk";

-- den svarer ret præcist til f.eks. HVIS i Excel (i gamle dage IIF, Immidiate IF !-)

-- og jeg takker for point ;~}
Avatar billede flashnoob Nybegynder
19. marts 2007 - 22:31 #10
Ahaa.. :) Og jeg takker for forklaringen ;)
Avatar billede olebole Juniormester
20. marts 2007 - 13:58 #11
<ole>

roenving >> enkelte ting er stadig som i gamle dage ... herunder IIF. Den bruges stadig i VB og VBScript  =)

/mvh
</bole>
Avatar billede roenving Novice
20. marts 2007 - 21:34 #12
Tjah, men i en dansk-sproget Excel findes IIF ikke, og den hedder HVIS ...

-- og den simple syntaks-kontrol er at Excel oversætter det til store bogstaver !-)
Avatar billede flashnoob Nybegynder
20. marts 2007 - 21:40 #13
...men.. hvem bruger da også Excel? :p
Avatar billede roenving Novice
20. marts 2007 - 21:52 #14
*lol*
Avatar billede olebole Juniormester
21. marts 2007 - 12:43 #15
Okay ... jeg er målløs! Hvad blev der af globaliseringen og mulighederne for at virke på tværs af grænser, sprog og kultur? Verden er nogen gange et sært sted at være  ;o)
Avatar billede roenving Novice
21. marts 2007 - 12:47 #16
-- det er rent faktisk sådan, at funktionerne er oversat i kildekoden, så du ikke kan tage dine Excel-mapper med over på en maskine, der er installeret med _samme_ Excel, men på f.eks. engelsk ,-(
Avatar billede olebole Juniormester
21. marts 2007 - 13:52 #17
*LooOooOooL* ... Babylon ... HERE I COOOOOOME ...!!!  ;oD
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