Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Problem z regularnym pokazywaniem i zamykaniem elementu
blackstone
post 15.12.2018, 17:03:36
Post #1





Grupa: Zarejestrowani
Postów: 89
Pomógł: 0
Dołączył: 19.03.2015

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


Zrobiłem sobie funkcje JQUERY (kod poniżej) której zadaniem jest pokazywanie lub ukrywanie danego elementu html. Wszystko działa dobrze dopuki nie chodzi o zamknięcie elementu podrzędnego względem tego elementu w ramach którego on się znajduje (rodzica). Sytuacja jest kodzie poniżej. Element o id #boxmenu (rodzic)wywołuje (na wskutek kliknięcia) funkcje która zmienia css podrzędnego elementu o id #tlopanel tak by element sie pokazywał. Gdy jednak chce kliknąć w podrzędny element (#tlopanel) który wywołuje tę samą funkcję tylko w trybie "zamknięcia" widoku ( i chodzi o niepokazywanie samego siebie a nie elementu nadrzędnego czy innego) to wówczas nadal on jest widoczny. Jak to obejść by klikając w element podrzędny (#tlopanel) móc go zamknąć z poziomu jego samego ?

Kod funkcji

  1. function display(target,set)
  2. {
  3.  
  4. let take = $(target) ;
  5.  
  6. if(set == 1)
  7. {
  8. take.css({'display' : 'block'})
  9. }
  10. else
  11. {
  12. take.css({'display' : 'none'})
  13. }
  14.  
  15.  
  16. }


Kod elementów html :

  1. <div id="boxmenu" onclick="display('#tlopanel',1)" class="topbox">TŁO <div id="tlopanel" onclick="display('#tlopanel',0)" class="show_off" >Panel</div>"</div>
Go to the top of the page
+Quote Post
viking
post 15.12.2018, 17:50:01
Post #2





Grupa: Zarejestrowani
Postów: 5 228
Pomógł: 876
Dołączył: 30.08.2006

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


Pokaż pełen przykład z kilkoma elementami docelowymi które ta funkcja ma pokazywać/ukrywać.


--------------------
Go to the top of the page
+Quote Post
blackstone
post 15.12.2018, 18:16:36
Post #3





Grupa: Zarejestrowani
Postów: 89
Pomógł: 0
Dołączył: 19.03.2015

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


  1. <div id="boxmenu" onclick="display('#tlopanel',1)" class="topbox">TŁO <div id="tlopanel" onclick="display('#tlopanel',0)" class="show_off" >Panel</div></div>



^ ^ ^
1 ) Klikam w w div #boxmenu w wyniku czego pokazuje mi się div #tlopanel - czyli działa ok
2) Klikam w pokazany w pkt 1 div #tlopanel w wyniku czego powinien się on zamknąć ale nadal go widać- i tutaj problem jest.

* W innych konfiguracjach funkcja działa dobrze, problem pojawia sie właśnie w tej.

* Na razie jest to jedyna para elementów w całym kodzie, ale docelowo takich par ma być więcej.

Ten post edytował blackstone 15.12.2018, 18:18:35
Go to the top of the page
+Quote Post
viking
post 16.12.2018, 10:19:18
Post #4





Grupa: Zarejestrowani
Postów: 5 228
Pomógł: 876
Dołączył: 30.08.2006

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


Pytam o strukturę bo to by umożliwiło napisanie coś sensownego.

https://jsfiddle.net/69z0qweu/


--------------------
Go to the top of the page
+Quote Post
trueblue
post 16.12.2018, 10:52:46
Post #5





Grupa: Zarejestrowani
Postów: 5 421
Pomógł: 1488
Dołączył: 11.03.2014

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


https://jsfiddle.net/nakopwue/


--------------------
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.2019 - 11:58