Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Powielanie okienek tooltipa, jQ
rozny
post 19.10.2017, 12:04:12
Post #1





Grupa: Zarejestrowani
Postów: 116
Pomógł: 0
Dołączył: 14.01.2004
Skąd: Zielona Góra

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


Cześć,

mam problem ze skryptem. Ogólnie działa jak chciałem, ale przy większej niż jedna ilości instancji zaczyna powielać mi diva z tooltipem. Jeżeli mam dwie instancje, to wyświetla dwa div'y z tym samym opisem, jak trzy instancje to trzy, itd.

Mój mózg tego sam nie ogarnia co ma "piernik do wiatraka".

kod tooltipa:

  1. jQuery(document).ready(function($){
  2.  
  3. $('a.inspiracje_anchor').hover(function() {
  4.  
  5. var contid = $(this).prop('rel');
  6.  
  7. var container = $('<div class="inspiracje_tip"></div>').fadeIn("2000");
  8. $('.insp-'+contid).append(container);
  9.  
  10. $('.inspiracje_tip').append('<p class="inspiracje_tip_title">' + $(this).prop('name') + '</p>');
  11. $('.inspiracje_tip').append('<img class="thumb" src="' + $(this).prop('title') + '" />');
  12.  
  13. $(this).prop({'title':''});
  14.  
  15. var inspiracje_tip = new Object();
  16.  
  17. inspiracje_tip.height = $('.inspiracje_tip').height();
  18.  
  19. var position = $(this).position();
  20.  
  21. position.top -= 75;
  22.  
  23. inspiracje_tip.top = 0;
  24. inspiracje_tip.left = $('.inspiracje_tip').width()/2;
  25.  
  26. if (inspiracje_tip.height > 15) {
  27. inspiracje_tip.top = $('.inspiracje_tip').height()/2;
  28. }
  29.  
  30. $('.inspiracje_tip').css({'top':(position.top-inspiracje_tip.top) + 100 + 'px','left':(position.left-inspiracje_tip.left) - 230 + 'px'});
  31.  
  32. }).mouseleave(function(){
  33.  
  34. $img = $('.thumb').attr('src');
  35. $(this).prop({'title': $img});
  36.  
  37. $('.thumb').remove();
  38. $('.inspiracje_tip_title').remove();
  39. $('.inspiracje_tip').remove();
  40.  
  41. });
  42.  
  43. });


kod wyświetlający zdjęcie z kotwicami:

  1. <div id="inspiracja1" class="inspiration_box">
  2. <h2 class="inspiration_title">Nazwa kolekcji</h2>
  3.  
  4. <div id="inspiracje_picture_container" class="insp-1">
  5.  
  6. <img src="adres_obrazka1.jpg">
  7. <a id="1" class="inspiracje_anchor" name="Nazwa produktu" title="miniaturka.jpg" href="adres_produktu" style="left:pozycja_anchora_px; top: pozycja_anchorapx;" target="_new" rel="1">+</a>
  8. </div>
  9. </div>


  1. <div id="inspiracja2" class="inspiration_box">
  2. <h2 class="inspiration_title">Nazwa kolekcji</h2>
  3.  
  4. <div id="inspiracje_picture_container" class="insp-2">
  5.  
  6. <img src="adres_obrazka2.jpg">
  7. <a id="1" class="inspiracje_anchor" name="Nazwa produktu" title="miniaturka.jpg" href="adres_produktu" style="left:pozycja_anchora_px; top: pozycja_anchorapx;" target="_new" rel="2">+</a>
  8. <a id="2" class="inspiracje_anchor" name="Nazwa produktu" title="miniaturka.jpg" href="adres_produktu" style="left:pozycja_anchora_px; top: pozycja_anchorapx;" target="_new" rel="2">+</a>
  9. </div>
  10. </div>


  1. <div id="inspiracja3" class="inspiration_box">
  2. <h2 class="inspiration_title">Nazwa kolekcji</h2>
  3.  
  4. <div id="inspiracje_picture_container" class="insp-3">
  5.  
  6. <img src="adres_obrazka3.jpg">
  7. <a id="1" class="inspiracje_anchor" name="Nazwa produktu" title="miniaturka.jpg" href="adres_produktu" style="left:pozycja_anchora_px; top: pozycja_anchorapx;" target="_new" rel="3">+</a>
  8. <a id="2" class="inspiracje_anchor" name="Nazwa produktu" title="miniaturka.jpg" href="adres_produktu" style="left:pozycja_anchora_px; top: pozycja_anchorapx;" target="_new" rel="3">+</a>
  9. </div>
  10. </div>


i tak dalej... Tooltipy wyświetlają się oczywiście w tych kontenerach, w których leżą anchory, ale każdy z nich jest powielany tyle razy ile mam "galerii" na stronie. Dlaczego tak się dzieje?

Będę wdzięczny za nakierowanie mnie gdzie mam błąd w logice wink.gif

strona http://eplytki.com -> możecie zobaczyć w czym problem.

Pozdrawiam

Poradziłem sobie,

wystarczyło dodać:

  1. event.stopImmediatePropagation();


Można zamknąć.

Ten post edytował rozny 18.10.2017, 13:55:34
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: 25.04.2024 - 06:15