Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JQuery]Slider gryzie się z lightboxem, nie mogę zrezygnować ani z jednego ani z drugiego
rozny
post 24.08.2012, 07:53:20
Post #1





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

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


Witam serdecznie,

mam mały problem, który spowodował duży zastój w pracach. Mam skrypt slider'a do fotek:

  1. var imgFile = [];
  2. var iPSlideshow = 0;
  3.  
  4. function initTopSlideshow()
  5. {
  6. var $banner = ('#banner');
  7.  
  8. $('img', $banner).each(
  9. function()
  10. {
  11. imgFile.push($(this).attr('src'));
  12. }
  13. );
  14.  
  15. $('img:hidden', $banner).remove();
  16.  
  17. setInterval('changeSrcTop()', 5500);
  18. }
  19.  
  20. function changeSrcTop()
  21. {
  22. var objImg = $('#banner img').get(0);
  23. var cnt = iPSlideshow % imgFile.length;
  24. var $divimage_container_left = $('#banner');
  25. var heightDiv = $divimage_container_left.height();
  26.  
  27. iPSlideshow++;
  28.  
  29. $(objImg).load(
  30. function()
  31. {
  32. var heightImg = $('#banner img').height();
  33. var topSpacer = ((heightDiv - heightImg)/2);
  34. $('#banner img').fadeTo(400, 1);
  35. $('#banner img').unbind();
  36. return true;
  37. }
  38. );
  39.  
  40. $('#banner img').fadeTo( 400, 0, function()
  41. {
  42. objImg.src = imgFile[cnt];
  43. return true;
  44. }
  45. );
  46. }
  47.  
  48. $(document).ready(initTopSlideshow);


Skrypt działa bardzo dobrze gdy w head mam załadowaną wyłącznie bibliotekę jQuery. Kiedy dołączę lightboxa (a razem z nim prototype, noconflict i scriptaculous) slider przestaje działać. Dzieje się tak oczywiście dlatego, że 'funkcja' "$" zostaje nadpisana przez lightboxa. Problem polega na tym, że noconflict nie rozwiązuje problemu, tak samo sztuczki typu

  1. ( function($) {
  2.  
  3. } ) ( jQuery );


nie pomagają, gdyż wtedy nie działa ani slider ani fotki nie otwierają się w lightboxie.

Problem jest taki, że muszę te dwa skrypty spiąć ze sobą i włosy sobie z głowy już rwę, bo nie wiem co mam zrobić żeby mi jedno z drugim chciało działać.

Ogólnie muszę mieć prosty slider, który daje możliwość otwierania zdjęć w lightboxie (colorbox niestety odpada, bo kompletnie mi się rozwala).

Ktoś, coś? Będę wdzięczny za pomoc...

Ten post edytował rozny 24.08.2012, 08:48:38
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
thek
post 24.08.2012, 23:34:32
Post #2





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Powiem tak... Oducz się używać znaku $ i stosuj nazewnictwo poprzez obiekt, a więc nie $('#banner img') ale jQuery('#banner img') i tak dalej. Odrobina lenistwa mniej a noconflict i inne cuda-wianki przestaną być potrzebne...


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
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: 13.08.2025 - 23:28