/ 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
vise/skjule en række DIVs med et enkelt kl~
Fra : Jesper F


Dato : 07-03-08 12:28

Jeg vil gerne vise eller skjule en række DIVs på en side med et enkelt klik.

Jeg har noget i stil med

<DIV class="foo"></DIV>
<DIV class="foo"></DIV>
<DIV class="foo"></DIV>
(for jeg må jo ikke bruge <DIV id="foo"></DIV> når der er flere).

Kan jeg med et enkelt klik vise eller skjule alle DIVs med class=foo ?

Mange tak.

/ Jesper





 
 
Lars Madsen (07-03-2008)
Kommentar
Fra : Lars Madsen


Dato : 07-03-08 12:57

Jesper F wrote:
> Jeg vil gerne vise eller skjule en række DIVs på en side med et enkelt klik.
>
> Jeg har noget i stil med
>
> <DIV class="foo"></DIV>
> <DIV class="foo"></DIV>
> <DIV class="foo"></DIV>
> (for jeg må jo ikke bruge <DIV id="foo"></DIV> når der er flere).
>
> Kan jeg med et enkelt klik vise eller skjule alle DIVs med class=foo ?
>
> Mange tak.
>
> / Jesper
>

ja, tag evt. et kig på jquery biblioteket (jquery.com), der kan man f.eks. lave
en event som går ind og finder alle div'er med klasse foo, og så viser/skjuler
dem. Det er ret nemt at bruge


--

/daleif (remove RTFSIGNATURE from email address)

LaTeX FAQ: http://www.tex.ac.uk/faq
LaTeX book: http://www.imf.au.dk/system/latex/bog/ (in Danish)
Remember to post minimal examples, see URL below
http://www.tex.ac.uk/cgi-bin/texfaq2html?label=minxampl
http://www.minimalbeispiel.de/mini-en.html

Martin (07-03-2008)
Kommentar
Fra : Martin


Dato : 07-03-08 15:11

Jesper F wrote:
> Jeg vil gerne vise eller skjule en række DIVs på en side med et enkelt klik.
>
> Jeg har noget i stil med
>
> <DIV class="foo"></DIV>
> <DIV class="foo"></DIV>
> <DIV class="foo"></DIV>
> (for jeg må jo ikke bruge <DIV id="foo"></DIV> når der er flere).
>
> Kan jeg med et enkelt klik vise eller skjule alle DIVs med class=foo ?

$('div.foo').click(function() {
$(this).css('display','none');
})

Kræver dog jQuery
<http://jquery.com>

Lars Madsen (07-03-2008)
Kommentar
Fra : Lars Madsen


Dato : 07-03-08 16:14

Martin wrote:
> Jesper F wrote:
>> Jeg vil gerne vise eller skjule en række DIVs på en side med et enkelt
>> klik.
>>
>> Jeg har noget i stil med
>>
>> <DIV class="foo"></DIV>
>> <DIV class="foo"></DIV>
>> <DIV class="foo"></DIV>
>> (for jeg må jo ikke bruge <DIV id="foo"></DIV> når der er flere).
>>
>> Kan jeg med et enkelt klik vise eller skjule alle DIVs med class=foo ?
>
> $('div.foo').click(function() {
> $(this).css('display','none');
> })
>
> Kræver dog jQuery
> <http://jquery.com>

endnu nemmere burde være

$('div.foo').click(function() {
$(this).toggle();
});

så kommer den tilbage når man i gen trykker på knappen.




--

/daleif (remove RTFSIGNATURE from email address)

LaTeX FAQ: http://www.tex.ac.uk/faq
LaTeX book: http://www.imf.au.dk/system/latex/bog/ (in Danish)
Remember to post minimal examples, see URL below
http://www.tex.ac.uk/cgi-bin/texfaq2html?label=minxampl
http://www.minimalbeispiel.de/mini-en.html

Martin (07-03-2008)
Kommentar
Fra : Martin


Dato : 07-03-08 16:21

Lars Madsen wrote:
> Martin wrote:
>> Jesper F wrote:
>>> Jeg vil gerne vise eller skjule en række DIVs på en side med et
>>> enkelt klik.
>>>
>>> Jeg har noget i stil med
>>>
>>> <DIV class="foo"></DIV>
>>> <DIV class="foo"></DIV>
>>> <DIV class="foo"></DIV>
>>> (for jeg må jo ikke bruge <DIV id="foo"></DIV> når der er flere).
>>>
>>> Kan jeg med et enkelt klik vise eller skjule alle DIVs med class=foo ?
>>
>> $('div.foo').click(function() {
>> $(this).css('display','none');
>> })
>>
>> Kræver dog jQuery
>> <http://jquery.com>
>
> endnu nemmere burde være
>
> $('div.foo').click(function() {
> $(this).toggle();
> });
>
> så kommer den tilbage når man i gen trykker på knappen.

Nå ja... læste sådan set kun skjule hehe :)
Men dog så er DIV'en helt væk - så faktisk skal HTML'en se således ud

<div class="foo">
<div>Tekst her</div>
</div>

$('div.foo').next().click(function() {
$(this).toggle();
});

Så vil <div class="foo"> altid være synlig, men teksten er væk - ellers
så vil man aldrig kunne trykke på div.foo igen :)

Kan ses her i aktion
<http://aarhof.eu/newsgroup/html/ie8test/>
Pilen til højre i boksene er klikbar, dog så fucker pilen dog mere eller
mindre - men nu er det også lavet kl 2 om natten på 20min - men det virker

Lars Madsen (07-03-2008)
Kommentar
Fra : Lars Madsen


Dato : 07-03-08 16:36

Martin wrote:
> Lars Madsen wrote:
>> Martin wrote:
>>> Jesper F wrote:
>>>> Jeg vil gerne vise eller skjule en række DIVs på en side med et
>>>> enkelt klik.
>>>>
>>>> Jeg har noget i stil med
>>>>
>>>> <DIV class="foo"></DIV>
>>>> <DIV class="foo"></DIV>
>>>> <DIV class="foo"></DIV>
>>>> (for jeg må jo ikke bruge <DIV id="foo"></DIV> når der er flere).
>>>>
>>>> Kan jeg med et enkelt klik vise eller skjule alle DIVs med class=foo ?
>>>
>>> $('div.foo').click(function() {
>>> $(this).css('display','none');
>>> })
>>>
>>> Kræver dog jQuery
>>> <http://jquery.com>
>>
>> endnu nemmere burde være
>>
>> $('div.foo').click(function() {
>> $(this).toggle();
>> });
>>
>> så kommer den tilbage når man i gen trykker på knappen.
>
> Nå ja... læste sådan set kun skjule hehe :)
> Men dog så er DIV'en helt væk - så faktisk skal HTML'en se således ud
>
> <div class="foo">
> <div>Tekst her</div>
> </div>
>
> $('div.foo').next().click(function() {
> $(this).toggle();
> });
>
> Så vil <div class="foo"> altid være synlig, men teksten er væk - ellers
> så vil man aldrig kunne trykke på div.foo igen :)
>

Meningen var jo ikke at trykke på div.foo (sådan forstod jeg det i hvertfald
ikke). toggle hide'er, den sletter ikke, så den er der stadigvæk. Det ville dog
være et problem hvis knappen var inden i div.foo

> Kan ses her i aktion
> <http://aarhof.eu/newsgroup/html/ie8test/>
> Pilen til højre i boksene er klikbar, dog så fucker pilen dog mere eller
> mindre - men nu er det også lavet kl 2 om natten på 20min - men det virker


--

/daleif (remove RTFSIGNATURE from email address)

LaTeX FAQ: http://www.tex.ac.uk/faq
LaTeX book: http://www.imf.au.dk/system/latex/bog/ (in Danish)
Remember to post minimal examples, see URL below
http://www.tex.ac.uk/cgi-bin/texfaq2html?label=minxampl
http://www.minimalbeispiel.de/mini-en.html

Martin (09-03-2008)
Kommentar
Fra : Martin


Dato : 09-03-08 15:01

Lars Madsen wrote:
> Martin wrote:
>> Lars Madsen wrote:
>>> Martin wrote:
>>>> Jesper F wrote:
>>>>> Jeg vil gerne vise eller skjule en række DIVs på en side med et
>>>>> enkelt klik.
>>>>>
>>>>> Jeg har noget i stil med
>>>>>
>>>>> <DIV class="foo"></DIV>
>>>>> <DIV class="foo"></DIV>
>>>>> <DIV class="foo"></DIV>
>>>>> (for jeg må jo ikke bruge <DIV id="foo"></DIV> når der er flere).
>>>>>
>>>>> Kan jeg med et enkelt klik vise eller skjule alle DIVs med class=foo ?
>>>>
>>>> $('div.foo').click(function() {
>>>> $(this).css('display','none');
>>>> })
>>>>
>>>> Kræver dog jQuery
>>>> <http://jquery.com>
>>>
>>> endnu nemmere burde være
>>>
>>> $('div.foo').click(function() {
>>> $(this).toggle();
>>> });
>>>
>>> så kommer den tilbage når man i gen trykker på knappen.
>>
>> Nå ja... læste sådan set kun skjule hehe :)
>> Men dog så er DIV'en helt væk - så faktisk skal HTML'en se således ud
>>
>> <div class="foo">
>> <div>Tekst her</div>
>> </div>
>>
>> $('div.foo').next().click(function() {
>> $(this).toggle();
>> });
>>
>> Så vil <div class="foo"> altid være synlig, men teksten er væk -
>> ellers så vil man aldrig kunne trykke på div.foo igen :)
>>
>
> Meningen var jo ikke at trykke på div.foo (sådan forstod jeg det i
> hvertfald ikke). toggle hide'er, den sletter ikke, så den er der
> stadigvæk. Det ville dog være et problem hvis knappen var inden i div.foo

Lige meget om pilen eller andet er inde i div'en, så fortæller du jo
netop at den skal hide "this" som i dette tilfælde er div.foo :)

$('div.foo').click(function() {
$(this).toggle();
});

Så her vil toggle aldrig kunne benyttes, eller jo - men man vil aldrig
kunne se div.foo igen :)

>
>> Kan ses her i aktion
>> <http://aarhof.eu/newsgroup/html/ie8test/>
>> Pilen til højre i boksene er klikbar, dog så fucker pilen dog mere
>> eller mindre - men nu er det også lavet kl 2 om natten på 20min - men
>> det virker
>
>

Lars Madsen (10-03-2008)
Kommentar
Fra : Lars Madsen


Dato : 10-03-08 10:50

Martin wrote:
> Lars Madsen wrote:
>> Martin wrote:
>>> Lars Madsen wrote:
>>>> Martin wrote:
>>>>> Jesper F wrote:
>>>>>> Jeg vil gerne vise eller skjule en række DIVs på en side med et
>>>>>> enkelt klik.
>>>>>>
>>>>>> Jeg har noget i stil med
>>>>>>
>>>>>> <DIV class="foo"></DIV>
>>>>>> <DIV class="foo"></DIV>
>>>>>> <DIV class="foo"></DIV>
>>>>>> (for jeg må jo ikke bruge <DIV id="foo"></DIV> når der er flere).
>>>>>>
>>>>>> Kan jeg med et enkelt klik vise eller skjule alle DIVs med
>>>>>> class=foo ?
>>>>>
>>>>> $('div.foo').click(function() {
>>>>> $(this).css('display','none');
>>>>> })
>>>>>
>>>>> Kræver dog jQuery
>>>>> <http://jquery.com>
>>>>
>>>> endnu nemmere burde være
>>>>
>>>> $('div.foo').click(function() {
>>>> $(this).toggle();
>>>> });
>>>>
>>>> så kommer den tilbage når man i gen trykker på knappen.
>>>
>>> Nå ja... læste sådan set kun skjule hehe :)
>>> Men dog så er DIV'en helt væk - så faktisk skal HTML'en se således ud
>>>
>>> <div class="foo">
>>> <div>Tekst her</div>
>>> </div>
>>>
>>> $('div.foo').next().click(function() {
>>> $(this).toggle();
>>> });
>>>
>>> Så vil <div class="foo"> altid være synlig, men teksten er væk -
>>> ellers så vil man aldrig kunne trykke på div.foo igen :)
>>>
>>
>> Meningen var jo ikke at trykke på div.foo (sådan forstod jeg det i
>> hvertfald ikke). toggle hide'er, den sletter ikke, så den er der
>> stadigvæk. Det ville dog være et problem hvis knappen var inden i div.foo
>
> Lige meget om pilen eller andet er inde i div'en, så fortæller du jo
> netop at den skal hide "this" som i dette tilfælde er div.foo :)
>
> $('div.foo').click(function() {
> $(this).toggle();
> });
>
> Så her vil toggle aldrig kunne benyttes, eller jo - men man vil aldrig
> kunne se div.foo igen :)
>

ahh, ja naturligvis

knappen skal vel så bare have

$(this).click(function() {
$('div.foo').toogle();
});

i stedet (utestet)

>>
>>> Kan ses her i aktion
>>> <http://aarhof.eu/newsgroup/html/ie8test/>
>>> Pilen til højre i boksene er klikbar, dog så fucker pilen dog mere
>>> eller mindre - men nu er det også lavet kl 2 om natten på 20min - men
>>> det virker
>>
>>


--

/daleif (remove RTFSIGNATURE from email address)

LaTeX FAQ: http://www.tex.ac.uk/faq
LaTeX book: http://www.imf.au.dk/system/latex/bog/ (in Danish)
Remember to post minimal examples, see URL below
http://www.tex.ac.uk/cgi-bin/texfaq2html?label=minxampl
http://www.minimalbeispiel.de/mini-en.html

Martin (10-03-2008)
Kommentar
Fra : Martin


Dato : 10-03-08 20:12

Lars Madsen wrote:
> Martin wrote:
>> Lars Madsen wrote:
>>> Martin wrote:
>>>> Lars Madsen wrote:
>>>>> Martin wrote:
>>>>>> Jesper F wrote:
>>>>>>> Jeg vil gerne vise eller skjule en række DIVs på en side med et
>>>>>>> enkelt klik.
>>>>>>>
>>>>>>> Jeg har noget i stil med
>>>>>>>
>>>>>>> <DIV class="foo"></DIV>
>>>>>>> <DIV class="foo"></DIV>
>>>>>>> <DIV class="foo"></DIV>
>>>>>>> (for jeg må jo ikke bruge <DIV id="foo"></DIV> når der er flere).
>>>>>>>
>>>>>>> Kan jeg med et enkelt klik vise eller skjule alle DIVs med
>>>>>>> class=foo ?
>>>>>>
>>>>>> $('div.foo').click(function() {
>>>>>> $(this).css('display','none');
>>>>>> })
>>>>>>
>>>>>> Kræver dog jQuery
>>>>>> <http://jquery.com>
>>>>>
>>>>> endnu nemmere burde være
>>>>>
>>>>> $('div.foo').click(function() {
>>>>> $(this).toggle();
>>>>> });
>>>>>
>>>>> så kommer den tilbage når man i gen trykker på knappen.
>>>>
>>>> Nå ja... læste sådan set kun skjule hehe :)
>>>> Men dog så er DIV'en helt væk - så faktisk skal HTML'en se således ud
>>>>
>>>> <div class="foo">
>>>> <div>Tekst her</div>
>>>> </div>
>>>>
>>>> $('div.foo').next().click(function() {
>>>> $(this).toggle();
>>>> });
>>>>
>>>> Så vil <div class="foo"> altid være synlig, men teksten er væk -
>>>> ellers så vil man aldrig kunne trykke på div.foo igen :)
>>>>
>>>
>>> Meningen var jo ikke at trykke på div.foo (sådan forstod jeg det i
>>> hvertfald ikke). toggle hide'er, den sletter ikke, så den er der
>>> stadigvæk. Det ville dog være et problem hvis knappen var inden i
>>> div.foo
>>
>> Lige meget om pilen eller andet er inde i div'en, så fortæller du jo
>> netop at den skal hide "this" som i dette tilfælde er div.foo :)
>>
>> $('div.foo').click(function() {
>> $(this).toggle();
>> });
>>
>> Så her vil toggle aldrig kunne benyttes, eller jo - men man vil aldrig
>> kunne se div.foo igen :)
>>
>
> ahh, ja naturligvis
>
> knappen skal vel så bare have
>
> $(this).click(function() {
> $('div.foo').toogle();
> });
>
> i stedet (utestet)
>

Hvis HTML'en ser således ud

<div class="foo">
<div>Tekst her</div>
</div>

og man bruger

$('div.foo').next().click(function() {
$(this).toggle();
})

Så er "Tekst her" div'en clickable

Hvis man bruger

$('div.foo').click(function() {
$(this).next().toggle();
})

Så er foo div'en clickable, hvis man skulle have problemer med at se
hvad det er der er clickable, så kan med fordel indsætte noget css.

$('div.foo').css('border','1px solid blue').click(function() {
$(this).next().css('border','1px solid green').toggle();
})

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

Månedens bedste
Årets bedste
Sidste års bedste