Dołącz do zespołu ekspertów! Backend lub Frontend Developer?

Sprawdź najnowsze oferty pracy naszego partnera - 8lines.io!

JavaScript - Pokazywanie diva o danym id

Założony przez  GiboneKPL.

Witam. O tuż mam pewien problem. Wraz z Suprykiem stworzyliśmy plugin na pokazywanie pierwszego/ostatniego postu z tematy. I teraz trzeba do niego stworzyć js'a. A dokładniej żeby pojawiały się po kliknięciu buttona. Użyłem jak na razie do tego funkcji hide(); i show(); lecz teraz jak kliknę to wszystkie tematy się "otwierają".. Najlepsze chyba będzie demko więc proszę: http://rashownia.pl/Dzial-Og%C5%82oszenia I więc teraz jak zrobić żeby pojawiał się tylko temat o danym id (Będzie dodawane automatycznie.
W sensie:
Mam dwa tematy, jeden ma id 1 a drugi 2.
Klikam w tym drugim na button "pokaż wpis" i pojawia się tylko on? I jak będzie więcej tematu to id samo się dodaje?

Zapomniałem dodać, tutaj jest kod js`a:
<script type="text/javascript">
jQuery.noConflict();
jQuery(document).ready(function(){
  
jQuery("#hide").click(function(){
    
jQuery(".hide").hide();
  });
  
jQuery("#show").click(function(){
    
jQuery(".hide").show();
  });
});
</
script

Proszę pomóżcie.
Dzieje się tak ponieważ w obydwu tematach ID jest takie samo, a nie można dopuścić do takiej sytuacji.
Musisz zrobić tak aby każde ID było inne dodając do niego np id tematu ;)
Czyli jak? :D Wytłumacz proszę, albo zrób testowego js`a na jsfiddle.
Czyli tak, że na stronie może być tylko jeden element oznaczony danym id. Musisz swoje elementy ponazywać np.
temat_1 
, kolejny będzie miał temat_2. Użyj id wątków do numerowania np.
Matslom, to akurat rozumiem.. Tylko nie wiem jak przypisać ID danemu elementowi, które będzie się zwiększać, jeśli elementów będzie więcej.
Zwiększać w php?
$i '0'
Później przy każdym wyniku dajesz
$i++ 
aby $i zwiększało o 1
przypisujesz id.
id="temat_'.$i.'" 
Można zrobić to w samym JS - przykład: http://jsfiddle.net/2mZU8/
Jeśli masz inną strukturę HTML to manual jQuery w rękę ;) Wystarczy odnaleźć DIV który ma być rozwinięty w stosunku do tego, który się klika.
Skorzystałem z rady devila i nie działa:
http://rashownia.pl/Dzial-Regulaminy

Tak wygląda JS:
</script>

<script type="text/javascript">
jQuery.noConflict();
jQuery('#hide').click(function(){
    jQuery(this).siblings('.hide').toggle();
});
</script>
(22.12.2013, 14:48)GiboneKPL napisał(a): Matslom, to akurat rozumiem.. Tylko nie wiem jak przypisać ID danemu elementowi, które będzie się zwiększać, jeśli elementów będzie więcej.

Jakich elementów będzie więcej? $thread['tid'] jest unikalny, dajesz po prostu id="threadl_{$thread['tid']}" i tyle. Następnie w jQuery selekcjonujesz wszystko z threadl_ na początku, pobierasz numer po _ do JS za pomocą funkcji split i używasz otrzymanego id do zamykania/otwierania czegoś z np. id="threado_{$thread['tid']}".

@up, przecież już wyżej było napisane, że nie możesz używać jednego id dla wielu elementów (#hide). ID, jak sama nazwa wskazuje, musi być unikalny.
Ja tego jednak nie rozumiem.. Ktoś mógłby na GG pomóc? :x
i gibonek znowu liczy na gotowca jak z reszta tego pluginu



Użytkownicy przeglądający ten wątek:

2 gości