Avatar billede bluegene Nybegynder
12. juli 2003 - 13:48 Der er 9 kommentarer og
1 løsning

Problem med kode

Jeg har lavet følgende kode af preformance reasons, meningen er at hvis man eks klikker flere gange på "1 Test" linket efter hinanden - skal koden kun afvikles første gang man klikker...

Problemet er dog jeg ikke rigtigt kan få det til at virke, hvad kan jeg have gjort forkert :-/


<a href=# onClick="YHClip(1);">1 Test</a><br>
<a href=# onClick="YHClip(2);">2 Test</a><br>
<a href=# onClick="YHClip(3);">3 Test</a><br>

**************

<script>
var YLoc = "";

Function YHClip(Location){
if (Location != YLoc) {
document.getElementById('YH').src='YH.asp?h=",Location,"';
var YLoc = Location;
}
}
</script>
Avatar billede roenving Novice
12. juli 2003 - 14:04 #1
Jeg går ud fra, at du ikke skal have "" omkring dit nummer -- det dur jo ikke i en url

document.getElementById('YH').src='YH.asp?h='+Location;

Forøvrigt er det ikke heldigt (eller kan nemt blive til fejl) at bruge et native javascript-objects navn som identifier, vælg noget andet end Location ...
Avatar billede bluegene Nybegynder
12. juli 2003 - 14:12 #2
har lige prøvet at ændre det til

<a href=# onClick="YHClip(1);">1 Test</a><br>
<a href=# onClick="YHClip(2);">2 Test</a><br>
<a href=# onClick="YHClip(3);">3 Test</a><br>

**************

<script>
var YLoc = "";

Function YHClip(Loc){
if (Loc != YLoc){
document.getElementById('YH').src='YH.asp?h='+Loc;
var YLoc = Loc;
}
}
</script>

Dog får jeg nu fejlen Line 11 char 10 Error expected: ';'
Avatar billede roenving Novice
12. juli 2003 - 14:23 #3
Du erklærer YLoc igen, det må du ikke:
YLoc = Loc;
Avatar billede bluegene Nybegynder
12. juli 2003 - 14:29 #4
YLoc skal da sættes til den værdi som jeg sidste klikkede på - ¨så koden kan checke om vi klikker på den samme / en ny næste gang
- dog virker det stadig ikke, samme fejl opstår efter jeg har udkommenteret den linie.
Avatar billede roenving Novice
12. juli 2003 - 14:40 #5
Hvilken en er linje 10 i din kode ?-)

Hvis du inde i en funktion erklærer en variabel lever den kun inde i funktionen, så
var YLoc = etellerandet inde i funktionen betyder, at du ikke får ændret den globale variabel ...
Avatar billede bluegene Nybegynder
12. juli 2003 - 14:44 #6
Den line som giver fejl er:  if (Loc != YLoc){

well, hvis jeg ikke må definere den inde i min funktion hvordan skal min kode så vide hvilken der sidst blev trykket på :-/
Avatar billede roenving Novice
12. juli 2003 - 15:08 #7
Som jeg skrev 14:23:28 -- du må godt give den værdi, men _ikke_ initialisere den -- bare fjern var ...

Forøvrigt skal du også sætte return false; på dine links:
<a href="#" onClick="YHClip(3);return false;">3 Test</a><br>
da siden ellers vil reloade -- og så har du selvfølgelig mistet din værdi !o]

-- jeg skal lige grave lidt mere i de grå, for jeg kan huske en helt ornsvag fejl, som svarede det samme, men ikke indholdet (endnu !-)
Avatar billede bluegene Nybegynder
12. juli 2003 - 16:42 #8
Sad lige og legede lidt med det... det lader til at være noget med navnet på min funktion/vars...

så lavede det om til følgende, for at teste og det ser ud til at virke :o)

<a href=# onClick="YCU(1);return false;">1 Test</a><br>
<a href=# onClick="YCU(2);return false;">2 Test</a><br>
<a href=# onClick="YCU(3);return false;">3 Test</a><br>

**************

<script>
var GLoc = "";
function YCU(YC) {
if (GLoc != YC) {alert('anden valgt');GLoc = YC;}else{alert('samme valgt');}
}
</script>
Avatar billede roenving Novice
12. juli 2003 - 16:46 #9
Jeg kender godt nok ingen af den slags ord somreserverede, og de står heller ikke i min reference, men alle trick gælder, når det skal virke !-)
Avatar billede bluegene Nybegynder
10. august 2003 - 03:54 #10
lukker lige :)
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