/ 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 forståelsesproblem
Fra : Thomas


Dato : 18-06-08 16:13

Hej NG.

Har et js problem.. har fundet et eksempel jeg tror der er løsningen men har
brug for lidt hjælp til at forstå det..

det samlede løsningsforslag står her:
http://www.webmasterworld.com/forum91/3726.htm

og javascripten som jeg har lidt svært ved at forstå er følgende

function toggleSet(rad) { var type = rad.value; for(var
k=0,elm;elm=rad.form.elements[k];k++) if(elm.className=='item')
elm.style.display = elm.id==type? 'inline':''; }funktionen bliver kaldt i
radio inputs ligesom:<input type="radio" name="itemtype" value="vehicle"
onclick="toggleSet(this)">Første spørgsmål: Det der bliver parset medi
toggleSet.. hvad er det en reference til? inputelementet?andet spørgsmål:
hvornår bliver betingelsen i for løkken opfyldt? og hvad returnere
rad.form.elements[k]?ja og så forstår jeg faktisk ikke rigtig if
sætningen... men kan dog heller ikke helt afgøre om det er gjort på en
fornuftig måde..nåh.. håber nogen kan hjælpe..:)Mvh. Thomas



 
 
Thomas (18-06-2008)
Kommentar
Fra : Thomas


Dato : 18-06-08 21:12

hmm.. mine line brake er vist ikke kommet med...

function toggleSet(rad)
{
var type = rad.value;
for(var k=0,elm;elm=rad.form.elements[k];k++)
if(elm.className=='item')
elm.style.display = elm.id==type? 'inline':'';
}

funktionen bliver kaldt i radio inputs ligesom:

<input type="radio" name="itemtype" value="vehicle"
onclick="toggleSet(this)">

Første spørgsmål: Det der bliver parset med i toggleSet.. hvad er det en
reference til? inputelementet?

andet spørgsmål: hvornår bliver betingelsen i for løkken opfyldt? og hvad
returnere rad.form.elements[k]?
ja og så forstår jeg faktisk ikke rigtig if sætningen... men kan dog heller
ikke helt afgøre om det er gjort på en fornuftig måde..
nåh.. håber nogen kan hjælpe..:)

Mvh. Thomas

"Thomas" <bossgisFJERNDETTE@hotmail.com> skrev i en meddelelse
news:g3b8ln$9hh$1@news.net.uni-c.dk...
> Hej NG.
>
> Har et js problem.. har fundet et eksempel jeg tror der er løsningen men
> har brug for lidt hjælp til at forstå det..
>
> det samlede løsningsforslag står her:
> http://www.webmasterworld.com/forum91/3726.htm
>
> og javascripten som jeg har lidt svært ved at forstå er følgende
>
> function toggleSet(rad) { var type = rad.value; for(var
> k=0,elm;elm=rad.form.elements[k];k++) if(elm.className=='item')
> elm.style.display = elm.id==type? 'inline':''; }funktionen bliver kaldt i
> radio inputs ligesom:<input type="radio" name="itemtype" value="vehicle"
> onclick="toggleSet(this)">Første spørgsmål: Det der bliver parset medi
> toggleSet.. hvad er det en reference til? inputelementet?andet spørgsmål:
> hvornår bliver betingelsen i for løkken opfyldt? og hvad returnere
> rad.form.elements[k]?ja og så forstår jeg faktisk ikke rigtig if
> sætningen... men kan dog heller ikke helt afgøre om det er gjort på en
> fornuftig måde..nåh.. håber nogen kan hjælpe..:)Mvh. Thomas
>



Thomas (18-06-2008)
Kommentar
Fra : Thomas


Dato : 18-06-08 22:54

jeg har fundet ud af det nu.

mvh. Thomas

"Thomas" <bossgisFJERNDETTE@hotmail.com> skrev i en meddelelse
news:g3bq79$b4t$1@news.net.uni-c.dk...
> hmm.. mine line brake er vist ikke kommet med...
>
> function toggleSet(rad)
> {
> var type = rad.value;
> for(var k=0,elm;elm=rad.form.elements[k];k++)
> if(elm.className=='item')
> elm.style.display = elm.id==type? 'inline':'';
> }
>
> funktionen bliver kaldt i radio inputs ligesom:
>
> <input type="radio" name="itemtype" value="vehicle"
> onclick="toggleSet(this)">
>
> Første spørgsmål: Det der bliver parset med i toggleSet.. hvad er det en
> reference til? inputelementet?
>
> andet spørgsmål: hvornår bliver betingelsen i for løkken opfyldt? og hvad
> returnere rad.form.elements[k]?
> ja og så forstår jeg faktisk ikke rigtig if sætningen... men kan dog
> heller ikke helt afgøre om det er gjort på en fornuftig måde..
> nåh.. håber nogen kan hjælpe..:)
>
> Mvh. Thomas
>
> "Thomas" <bossgisFJERNDETTE@hotmail.com> skrev i en meddelelse
> news:g3b8ln$9hh$1@news.net.uni-c.dk...
>> Hej NG.
>>
>> Har et js problem.. har fundet et eksempel jeg tror der er løsningen men
>> har brug for lidt hjælp til at forstå det..
>>
>> det samlede løsningsforslag står her:
>> http://www.webmasterworld.com/forum91/3726.htm
>>
>> og javascripten som jeg har lidt svært ved at forstå er følgende
>>
>> function toggleSet(rad) { var type = rad.value; for(var
>> k=0,elm;elm=rad.form.elements[k];k++) if(elm.className=='item')
>> elm.style.display = elm.id==type? 'inline':''; }funktionen bliver kaldt i
>> radio inputs ligesom:<input type="radio" name="itemtype" value="vehicle"
>> onclick="toggleSet(this)">Første spørgsmål: Det der bliver parset medi
>> toggleSet.. hvad er det en reference til? inputelementet?andet spørgsmål:
>> hvornår bliver betingelsen i for løkken opfyldt? og hvad returnere
>> rad.form.elements[k]?ja og så forstår jeg faktisk ikke rigtig if
>> sætningen... men kan dog heller ikke helt afgøre om det er gjort på en
>> fornuftig måde..nåh.. håber nogen kan hjælpe..:)Mvh. Thomas
>>
>
>



Lasse Reichstein Nie~ (18-06-2008)
Kommentar
Fra : Lasse Reichstein Nie~


Dato : 18-06-08 23:29

"Thomas" <bossgisFJERNDETTE@hotmail.com> writes:

> Har et js problem.. har fundet et eksempel jeg tror der er løsningen men har
> brug for lidt hjælp til at forstå det..
....
> og javascripten som jeg har lidt svært ved at forstå er følgende

(ombrudt for læsbarhed)

> function toggleSet(rad) {
> var type = rad.value;
> for (var k=0,elm; elm = rad.form.elements[k]; k++)
> if (elm.className=='item')
> elm.style.display = elm.id==type? 'inline':'';
> }

> funktionen bliver kaldt i
> radio inputs ligesom:
> <input type="radio" name="itemtype" value="vehicle"
> onclick="toggleSet(this)">

> Første spørgsmål: Det der bliver parset medi
> toggleSet.. hvad er det en reference til? inputelementet?

Ja.

> andet spørgsmål:
> hvornår bliver betingelsen i for løkken opfyldt?

I dette tilfælde sendes input-elementet med value="veichle" med.
I funktionen gennemløbes alle elementer i samme form, og de som
har attributten class="item" bliver matchet af if-sætningen.
Af dem bliver de elementer (eller forhåbentlig "det element") som har
id="veichle" sat til at være display:inline, dem med andre id'er bliver
sat tilbage til deres oprindelige display-egenskab (som sikkert er "none").

> og hvad returnere
> rad.form.elements[k]?

Det evaluerer til det k'te element i formen.

"rad" er et input-element
"rad.form" er den form input-elementet ligger i.
"rad.form.elements" er samlingen af form-controls (fx input-elementer)
i formen.
"k" er et tal.
"rad.form.elements[k]" er det k'te element i formen.

> ja og så forstår jeg faktisk ikke rigtig if
> sætningen...

I HTML'en har forfatteren sat class="item" på de elementer der hvis
visning skal slås til og fra med radio-knapper. Alle andre elementer
bliver ignoreret i løkken.

Dem der påvirkes bliver vist når man vælger en radioknap med samme
value som deres id-attribut

> men kan dog heller ikke helt afgøre om det er gjort på en
> fornuftig måde..

Jeg er ikke imponeret. I det mindste misbruger de id-attributten,
da der ikke må være to elementer med samme id-værdi.
Jeg ville bygge det ind i class-attributten.
Hmm, noget i stil med:

<html>
<head><title>test</title>
<style type="text/css">
form.foo .foo, form.bar .bar, form.baz .baz { display: inline; }
form .foo, form .bar, form .baz { display : none; }
</style>
</head>
<body>
<form action="">
<input type="radio" name="subselect" value="foo"
onclick="this.form.className=this.value;"> Foo<br>
<input type="radio" name="subselect" value="bar"
onclick="this.form.className=this.value;"> Bar<br>
<input type="radio" name="subselect" value="baz"
onclick="this.form.className=this.value;"> Baz<br>
<input type="text" class="foo" value="something">
<input type="text" class="bar" value="other">
<input type="checkbox" class="bar">
<input type="button" class="baz" value="Baz!">
</form>
</body>
</html>


/L
--
Lasse Reichstein Nielsen - lrn@hotpop.com
DHTML Death Colors: <URL:http://www.infimum.dk/HTML/rasterTriangleDOM.html>
'Faith without judgement merely degrades the spirit divine.'

Søg
Reklame
Statistik
Spørgsmål : 177579
Tips : 31968
Nyheder : 719565
Indlæg : 6409073
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste