Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript]Show/Hide w jQuery
Forum PHP.pl > Forum > Przedszkole
Meferot
Jak przerobić ten skrypt:
  1. $('#show').click(function() {
  2. $('#register').show('fast');
  3. return false;
  4. });
  5. $('#hide').click(function() {
  6. $('#register').hide('fast');
  7. return false;
  8. });
  9. </script>

Tak żeby mógł obsługiwać wiele elementów?
toaspzoo
Kod

<script language="javascript">


var state = 'none';

function showhide(layer_ref) {

if (state == 'block') {
state = 'none';
}
else {
state = 'block';
}
if (document.all) { //IS IE 4 or 5 (or 6 beta)
eval( "document.all." + layer_ref + ".style.display = state");
}
if (document.layers) { //IS NETSCAPE 4 or below
document.layers[layer_ref].display = state;
}
if (document.getElementById &&!document.all) {
hza = document.getElementById(layer_ref);
hza.style.display = state;
}
}

</script>


Potem tworzysz divy np:
  1. <div id="cos" style="display: none">tresc</div>
  2.  
  3. a potem w odnosniu <a href="#" onClick="showhide('cos');">Otworz!</a>












lobopol
zamiast używać id używaj klas czyli
przykład:
http://andylangton.co.uk/articles/javascri...tiple-elements/
Meferot
Właśnie widziałem już ten skrypt jak wcześniej szukałem na google, ale niestety, nie ogarniam go =/
Pawel_W
zamiast konstrukcji #show, która odwołuje się do elementu o id="show" daj .show, dzięki czemu uzyskasz odwołanie do class="show"

gwoli przypomnienia, na stronie wg standardów może być tylko 1 element o danym id smile.gif
Meferot
No dobra ale ten #show pokazuje mi diva #register, a ja chce przy jednym skrypcie pracować z wieloma buttonami i divami.
lobopol
To napisz dokładnie co chcesz osiągnąć, ale dokładnie.
Pawel_W
to ustaw temu, co chcesz kliknąć atrybut rel="id" i potem przy kliknięciu pobierz go za pomocą attr('rel')

a potem domyśl się jak to zamienić z #register winksmiley.jpg
Meferot
Przykładowo mam 2 buttony, pierwszy ma otwierać diva o id powiedzmy kot1, a drugi diva o id kot2, divy te nie maja ze sobą nic wspólnego.
Chciałbym żeby obsługiwał je tylko jeden skrypt, tylko nie wiem jak w jquery użyć zmiennych czy coś, jakaś funkcje utworzyć?
Pawel_W
no przecież Ci napisałem najjaśniej niż mogłem, jeszcze minuta i nie wytrzymam, i dam gotowca... guitar.gif
Meferot
Post był kierowany do lobopol'a winksmiley.jpg
lobopol
coś na zasadzie
Kod
$('.klikajec').click(function(){
  var id= $(this).attr('rel');
  $('#'+id).show('fast');
})

przyciski z klasą klikajec i w rel id elementu do pokazania
Pawel_W
Cytat(lobopol @ 26.12.2010, 19:34:39 ) *
coś na zasadzie
Kod
$('.klikajec').click(function(){
  var id= $(this).attr('rel');
  $('#'+id).show('fast');
})

przyciski z klasą klikajec i w rel id elementu do pokazania

Cytat
Jeśli dasz człowiekowi rybę, nakarmisz go na jeden dzień. Jeśli nauczysz go, jak łowić ryby, nakarmisz go na całe życie.
winksmiley.jpg

ale tak, o to chodziło
Meferot
Dziękuje panowie winksmiley.jpg
lobopol
Cytat(Pawel_W @ 26.12.2010, 19:39:01 ) *
winksmiley.jpg

ale tak, o to chodziło

A dzisiaj taki mam nastrój do rozwiązywania problemów, wina świąt zapewne.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.