Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [js] dwa skrypty jQuery na stronie
trucksweb
post
Post #1





Grupa: Zarejestrowani
Postów: 1 199
Pomógł: 31
Dołączył: 22.03.2004
Skąd: Warszawa

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


kiedys juz pisalem o tym problemie, udalo sie go rozwiazac usuwajac jeden skrypt. Teraz niestety nie moge i musze uzywac dwoch skryptow z jQuery.
Problem polega na tym, ze jesli opa skrypty a raczej ich wywolanie jest opublikowane to dziala jedynie ten ostatni.
W dokumentacji pisze ze mozna uzyc noconflict..
jednak to nie pomoaga.

Oto skrypty wywolujace biblioteki: juz z zastosowaniem noConflict
1
  1. <script type="text/javascript">
  2. var $j = jQuery.noConflict();
  3. $j(window).bind("load", function() {
  4. $j("div#slider1").codaSlider()
  5. // jQuery("div#slider2").codaSlider()
  6. // etc, etc. Beware of cross-linking difficulties if using multiple sliders on one page.
  7. });
  8. </script>


2
  1. <script type="text/javascript">
  2. var $s = jQuery.noConflict();
  3. $s(document).ready(
  4. function(){
  5. $s('ul#<?php echo $uniqueid; ?>').innerfade({
  6. speed: <?php echo $speed; ?>,
  7. timeout: <?php echo $timeout; ?>,
  8. type: '<?php echo $display; ?>',
  9. containerheight: '<?php echo $height; ?>px'
  10. });
  11. });


czy ktos moze powiedziec jak to rozwiazac ?

oba skrypty uzywaja innych bilbiotek z innych plikow
Go to the top of the page
+Quote Post
devnul
post
Post #2





Grupa: Zarejestrowani
Postów: 1 470
Pomógł: 75
Dołączył: 21.09.2005
Skąd: że znowu

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


a nie mogą używać jednej? nie bardzo rozumiem co chcesz osiągnąć ale obie te czynności można wykonać używając tylko jednej biblioteki jQuery, a rozwiązanie podane przez Ciebie nie działa i działać nie będzie. noConflict jest po to żeby zarejestrować bibliotekę jQuery w innej "przestrzeni" niż domyślna w wypadku gdyby ta była zajęta. Rozwiązanie to nie służy do klonowania obiektów jQuery. Z tego co się orientuję to nie bardzo jest to możliwe ze względu na budowę samej biblioteki. Powiedz może czemu próbujesz używać dwóch bibliotek a nie jednej to może coś zaradzimy

//edit: zdaje mi się że próbujesz używać gotowców z ich domyślnymi konfiguracjami. nie możesz zwyczajnie załadować jquery a następnie potrzebnych Ci bibliotek (samych - bez kolejnego bezsensownego ładowania jquery po raz enty)?

Ten post edytował devnul 15.05.2008, 00:21:10
Go to the top of the page
+Quote Post
lord_t
post
Post #3





Grupa: Zarejestrowani
Postów: 603
Pomógł: 131
Dołączył: 24.07.2007
Skąd: Górny Śląsk

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


Cytat
Please ensure you have no code in your <body> onload event handler, otherwise $(document).ready() may not fire.

Źródło: http://docs.jquery.com/Events/ready#fn

A jeśli robisz bind dla load to prawdopodobnie nadpisujesz onload w body i dlatego nie działa. Próbowałeś zrobić tak?:

  1. <script type="text/javascript">
  2. $(document).ready(function() {
  3. $("div#slider1").codaSlider();
  4. // jQuery("div#slider2").codaSlider()
  5. });
  6.  
  7. $(document).ready(
  8. function(){
  9. $('ul#<?php echo $uniqueid; ?>').innerfade({
  10. speed: <?php echo $speed; ?>,
  11. timeout: <?php echo $timeout; ?>,
  12. type: '<?php echo $display; ?>',
  13. containerheight: '<?php echo $height; ?>px'
  14. });
  15. });
Go to the top of the page
+Quote Post
devnul
post
Post #4





Grupa: Zarejestrowani
Postów: 1 470
Pomógł: 75
Dołączył: 21.09.2005
Skąd: że znowu

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


@lord_t: a gdzie Ty tam widzisz <body onload w jego kodzie?
Go to the top of the page
+Quote Post
lord_t
post
Post #5





Grupa: Zarejestrowani
Postów: 603
Pomógł: 131
Dołączył: 24.07.2007
Skąd: Górny Śląsk

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


A co może robić wg Ciebie bind("load" ...? Bo ja podejrzewam, że właśnie ustawia onload dla body. W jQuery pomija się prefix on, a że onload występuje tylko dla body, to doszedłem do powyższych wniosków:)
Go to the top of the page
+Quote Post
trucksweb
post
Post #6





Grupa: Zarejestrowani
Postów: 1 199
Pomógł: 31
Dołączył: 22.03.2004
Skąd: Warszawa

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


nie znam sie na js wiec mam problem ;]
uzywam gotowcow ze strony: http://www.ajaxdaddy.com/

Glider i SlideShow

zaden sposob nie dziala, albo dziala jedno albo drugie (IMG:http://forum.php.pl/style_emoticons/default/sciana.gif)
Go to the top of the page
+Quote Post
devnul
post
Post #7





Grupa: Zarejestrowani
Postów: 1 470
Pomógł: 75
Dołączył: 21.09.2005
Skąd: że znowu

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


[quotePlease ensure you have no code in your <body> onload event handler, otherwise $(document).ready() may not fire.[/quote]
w tym fragmencie chodzi o kod wstawiony statycznie do html'a a nie zdarzenie ustawione z poziomu samego jQuery, bo ono radzi sobie z podpinaniem wielu akcji pod jedno zdarzenie.

//edit:
@trucksweb:
pokaż kod załączanych bibliotek z head

Ten post edytował devnul 15.05.2008, 17:03:30
Go to the top of the page
+Quote Post
trucksweb
post
Post #8





Grupa: Zarejestrowani
Postów: 1 199
Pomógł: 31
Dołączył: 22.03.2004
Skąd: Warszawa

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


najlepiej to podam link do strony:
http://nieruchomosci.bmgpolska.pl/

-jquery uzywam to rotacji zdjec w topie i do mechanizmu zakladek

//strona oparta na Joomli wiec to co widac to sa moduly, ktore includuja swoje pliki dlatego kod wyglada tak jak wyglada (IMG:http://forum.php.pl/style_emoticons/default/dry.gif)

Ten post edytował trucksweb 15.05.2008, 17:07:47
Go to the top of the page
+Quote Post
devnul
post
Post #9





Grupa: Zarejestrowani
Postów: 1 470
Pomógł: 75
Dołączył: 21.09.2005
Skąd: że znowu

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


na czym strona by nie była oparta to masz kupe błędów (2 x sekcja head)

wywal z kodu jedno wystąpienie
Kod
<script src="http://nieruchomosci.bmgpolska.pl/modules/lib/jquery-1.2.1.pack.js" type="text/javascript"></script>
tak żeby została tylko jedna deklaracja, poza tym wszystkie załączenia skryptów <script src=costam></script> przenieś do sekacji head (i zklikwiduj drugą sekcje), pamiętając aby załączać biblioteke jquery w pierwszej kolejności. następnie zrezygnuj z noconflict w jquery na rzecz normalnego używania biblioteki i będzie działać
Go to the top of the page
+Quote Post
trucksweb
post
Post #10





Grupa: Zarejestrowani
Postów: 1 199
Pomógł: 31
Dołączył: 22.03.2004
Skąd: Warszawa

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


albo ja nie umiem wkleic kodu albo cos jest spierdzielone, bo nie dziala.
Jak wkleje wszystko do pliku index.php templatki i dam <script> w glowym headzie a tamte smieci usune to nic nie dziala (IMG:http://forum.php.pl/style_emoticons/default/sciana.gif)
Go to the top of the page
+Quote Post
lord_t
post
Post #11





Grupa: Zarejestrowani
Postów: 603
Pomógł: 131
Dołączył: 24.07.2007
Skąd: Górny Śląsk

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


Użyj firebuga to Ci pokaże co jest nie tak:)
Go to the top of the page
+Quote Post
trucksweb
post
Post #12





Grupa: Zarejestrowani
Postów: 1 199
Pomógł: 31
Dołączył: 22.03.2004
Skąd: Warszawa

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


(IMG:http://forum.php.pl/style_emoticons/default/dostal.gif) ale slepy jestem, wszystko bylo ok,
tylko jak skopiowalem kody z plikow modulow do index.php zapomnialem zadeklarowac wartosci zmiennych, ktorych wymaga dany modul. Bez nich nie wiem czemu ale nie dzialaly oba. Jak uzupelnilem wartosci zmiennych oba moduly ozyly (IMG:http://forum.php.pl/style_emoticons/default/laugh.gif)

dzieki za pomoc.
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 22.08.2025 - 15:17