Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JQUERY] Wielokrotne uzycie skryptu
jerry89
post
Post #1





Grupa: Zarejestrowani
Postów: 55
Pomógł: 0
Dołączył: 14.08.2007

Ostrzeżenie: (0%)
-----


Witam, posiadam nastepujacy kod skryptu w jquery,działa on prawidłowo:
Kod
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
   $("#link:not(:first)").hide();
   $("#link").click(function(){
      var t=$(this).parent().next();
      var v=t.is(":visible");
      $("#more:visible").slideUp("slow");
      if(!v)t.slideDown("slow");
      return false;
   });
});
</script>

Problem w tym ze kodu muszę uzyc kilka razy na jednej stronie, jednak jak to zrobic? Zmienne tutaj są statyczne i jak stworze kilkukrtotnie np chowające sie menu(uzywajac zmiennej link i more jak w skrypcie) o takiej samej nazwie to zadziała tylko jedno z nich(to pierwsze) reszta po prostu nie zadziała. Jak to rozwiazac? Raczej rozwiazaniem nie jest napisanie kilkukrotne tego samego skryptu zmianiając nazwy zmiennych.
Proszę o pomoc.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




o funkcjach nie slyszal?
Kod
<script type="text/javascript">
function xyz(id){
   $("#"+id+":not(:first)").hide();
   $("#"+id).click(function(){
      var t=$(this).parent().next();
      var v=t.is(":visible");
      $("#more:visible").slideUp("slow");
      if(!v)t.slideDown("slow");
      return false;
   });

}

$(document).ready(function(){
xyz('link');
xyz('inne_id');
});
</script>
Go to the top of the page
+Quote Post
jerry89
post
Post #3





Grupa: Zarejestrowani
Postów: 55
Pomógł: 0
Dołączył: 14.08.2007

Ostrzeżenie: (0%)
-----


No dzięki,
zrobiłem to w ten sposób:
Kod
<script type="text/javascript">
function xyz(id,id2){
   $("#link"+id+":not(:first)").hide();
   $("#link"+id).click(function(){
      var t=$(this).parent().next();
      var v=t.is(":visible");
      $("#more"+id2+":visible").slideUp("slow");
      if(!v)t.slideDown("slow");
      return false;
   });

}

$(document).ready(function(){
xyz('1','1');
xyz('2','2');
xyz('0','0');
xyz('3','3');
xyz('4','4');
xyz('5','5');
xyz('6','6');
xyz('7','7');
xyz('8','8');
xyz('9','9');
});
</script>

A nastepnie w php dałem while przy wypisywaniu i kolejno link$id zwiekszałem zmienna o 1. Działa jak nalezy ale czy jest to dobre rozwiązanie? Nie da sie jakoś krócej?
Go to the top of the page
+Quote Post
bartg
post
Post #4





Grupa: Zarejestrowani
Postów: 226
Pomógł: 25
Dołączył: 4.07.2007
Skąd: Berlin

Ostrzeżenie: (0%)
-----


Daj jakis inny artybut na przykład class="chowaj" do elementu
a potem podobnie jak teraz tylko kożystasz z pętli
$('div.chowaj').each(function () {});
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 19:48