Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Problem z jQuery i pokazywaniem warstw
spit
post 27.09.2007, 00:24:37
Post #1





Grupa: Zarejestrowani
Postów: 135
Pomógł: 0
Dołączył: 1.08.2005

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


Cześć,
Chcę zrobić na stronie (w newsach) wyświetlanie kategorii w liście nieuporządkowanej, która jednak pojawiać ma się dopiero po najechaniu na konkretny link. Napisałem taki kod:
  1. <script type="text/javascript">
  2. $(document).ready(function(){
  3.  
  4. $(".kom").hide();
  5.  
  6. $("a.open").mouseover(function() {
  7. $(".kom").show("fast");
  8. return false;
  9. });
  10.  
  11. $(".kom").click(function() {
  12. $(this).toggle("slow");
  13. return false;
  14. });
  15.  
  16. })</script>

  1. <ul class="k">
  2. <li><a href="#">autor: tomek</a></li>
  3. <li><a class="open" href="#">kategorie</a></li>
  4. </ul>
  5. <ul class="kom">
  6. <li><a href="#">1</a></li>
  7. <li><a href="#">2</a></li>
  8. </ul>
  9. <p style="clear: both">Lorem ipsum dolor sit amet</p>

I niby wszystko gra. Tylko, jak pojawi się drugi taki news, i wtedy najadę na link, kategorie rozwijają się we wszystkich wiadomościach. Co zrobić?
Go to the top of the page
+Quote Post
nospor
post 27.09.2007, 06:17:57
Post #2





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




$(".kom") - no przeciez tutaj pobierasz wszystko co ma klasę "kom". Jesli wszystkie komentarze maja taką klase, to wszystkie beda sie pokazywac i chować. Musisz pobierac tylko dany news dla danego linka


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
spit
post 27.09.2007, 06:40:34
Post #3





Grupa: Zarejestrowani
Postów: 135
Pomógł: 0
Dołączył: 1.08.2005

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


Też się domyśliłem, że tak trzeba. Tylko nie wiem jak, chciałem je identyfikować nadając ul.k i ul.kom takie same klasy (np .news-id) ale nie wiem, jak zaznaczyć, by otwierał tę konkretną listę, gdzie te dwie klasy się równają.
Go to the top of the page
+Quote Post
nospor
post 27.09.2007, 06:45:58
Post #4





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




dla linka pokazujacego nadajesz id: link_unikalneiddlaautora
dla komentarza nadajesz id: kom_unikalneiddlaautora

Teraz gdu najedziesz na link, odczytujesz id linku, wydzielasz z niego unikalneiddlaautora i pokazujesz komentarz o id:kom_unikalneiddlaautora

Wydzielenie unikalneiddlaautora to proste operacje na tekscie w js.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
spit
post 27.09.2007, 07:43:27
Post #5





Grupa: Zarejestrowani
Postów: 135
Pomógł: 0
Dołączył: 1.08.2005

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


Cytat(nospor @ 27.09.2007, 05:45:58 ) *
Wydzielenie unikalneiddlaautora to proste operacje na tekscie w js.

Cóż, może dla Ciebie, ja nigdy do js nie lgnąłem, a jQuery uczę się od wczoraj smile.gif Niemniej jednak dzięki za wskazówki.
Go to the top of the page
+Quote Post
nospor
post 27.09.2007, 08:18:24
Post #6





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




Kod
var id='link_unikalneiddlaautora';
var unikalneid = id.substr(id.indexOf('_')+1);
alert(unikalneid);

Mowilem ze proste operacje winksmiley.jpg
Teraz podczep to do siebie i gotowe smile.gif


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
gekon
post 27.09.2007, 08:28:19
Post #7





Grupa: Zarejestrowani
Postów: 614
Pomógł: 7
Dołączył: 10.11.2003
Skąd: Rzeszów/Kraków

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


@nospor: kombinujesz smile.gif
@spit: Jeżeli nie będziesz zmieniał struktury 'newsa' to wystarczy pochodzić trochę po drzewie:
  1. <script type="text/javascript">
  2. $(document).ready(function(){
  3.  
  4. $(".kom").hide();
  5.  
  6. $("a.open").mouseover(function() {
  7. $(this).parents('ul').next().show("fast"); //o tu :)
  8. return false;
  9. });
  10.  
  11. $(".kom").click(function() {
  12. $(this).toggle("slow");
  13. return false;
  14. });
  15.  
  16. })</script>


--------------------
Pokaż kod = Pokaż CAŁY kod, najlepiej działający na jakimś serwerze.
Fanatycy | glazar.info | semantyka | HTML i XHTML FAQ
Go to the top of the page
+Quote Post
nospor
post 27.09.2007, 08:31:46
Post #8





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




Cytat
@nospor: kombinujesz
Oj zaraz kombinuje smile.gif
Poprostu mój sposób jest odporny na zmiane struktury html, Twoj nie. Co nie zmienia faktu, że Twoj wydaje się lepszy dla tej struktury (jeśli się nie zmieni oczywiscie)


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
spit
post 27.09.2007, 13:02:21
Post #9





Grupa: Zarejestrowani
Postów: 135
Pomógł: 0
Dołączył: 1.08.2005

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


Skorzystałem z obu rozwiązań, jednakże sposób gekona wydaje się łatwiejszy, bo schemat będzie właśnie taki. Dzięki Wam obu!
A będąc jeszcze przy jQuery, mam tą pojawiającą się listę, ale znika dopiero po kliknięciu. Co zrobić, by znikała po "odjechaniu" myszką? mouseover i mouseout chowają warstwę zaraz po najechaniu na nią. Pomysły?
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 27.06.2025 - 11:55