Ta strona używa ciasteczek (cookies), dzięki którym nasz serwis może działać lepiej. Dowiedz się więcej OK, rozumiem

Problem z konfliktem jQuery

Tworzenie dynamicznych stron internetowych z zastosowaniem JavaScript, jQuery, Ajax. Dowiedz się jak to zrobić, znajdź rozwiązania swoich problemów.

Problem z konfliktem jQuery

Post 18.06.2017, 11:34:24

Proszę o pomoc, mam trzy skrypty w jquery megamenu, fancybox i jakiś highlight news, natomiast albo niedziala megamenu albo nie działa fancybox, już probowalem wszystkiego... Co robie zle? :(

Kod: Zaznacz cały
      <script>
      !window.jQuery && document.write('<script src="modules/fotobox/jquery-1.4.3.min.js"><\/script>');
   </script>
   <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
   <script type='text/javascript' src='js/jquery.min.js'></script>
   <script type='text/javascript' src='js/jquery.hoverIntent.minified.js'></script>
   <script type='text/javascript' src='js/jquery.dcmegamenu.1.3.3.js'></script>
    <script type='text/javascript' src='js/jquery.mobile.customized.min.js'></script>
    <script type='text/javascript' src='js/jquery.easing.1.3.js'></script>
    <script type='text/javascript' src='js/camera.min.js'></script>
   <link href='http://fonts.googleapis.com/css?family=Ek+Mukta&subset=latin,latin-ext' rel='stylesheet' type='text/css'>
   <link rel="stylesheet" href="modules/fotobox/fancybox/jquery.fancybox-1.3.4.css" type="text/css" media="screen" />
   <script type="text/javascript" src="modules/fotobox/fancybox/jquery.mousewheel-3.0.4.pack.js"></script>
   <script type="text/javascript" src="modules/fotobox/fancybox/jquery.fancybox-1.3.4.pack.js"></script>
   <script type="text/javascript">
   $.noConflict();
         j(document).ready(function($){
         j('#mega-menu-1').dcMegaMenu({
         rowItems: '5',
         speed: 'fast',
         event: 'click',      
         fullWidth: true
         });
         
            j("a#example4").fancybox({
            'opacity'      : true,
            'overlayShow'   : false,
            'transitionIn'   : 'elastic',
            'transitionOut'   : 'none'
         });
      });
   </script>
   <div id="fb-root"></div>
<script>(function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s); js.id = id;
  js.src = "//connect.facebook.net/pl_PL/all.js#xfbml=1";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>

krzywy18
Posty: 1
Dołączył(a): 18.06.2017

Re: Problem z konfliktem jQuery

Post 18.06.2017, 21:55:12

Nie podałeś żadnego linka do strony, na której można zobaczyć problem, więc ślepo proponuję:
w tych liniach
Kod: Zaznacz cały
<script>
      !window.jQuery && document.write('<script src="modules/fotobox/jquery-1.4.3.min.js"><\/script>');
   </script>
   <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
   <script type='text/javascript' src='js/jquery.min.js'></script>

wstawiasz 3 jQuery do strony. Jedno 1.4.3, drugie 1.4.4, trzecie nie mam pojęcia, bo z URLa nie wynika. Mam tylko nadzieję, że żaden z kolejnych skryptów nie ma w sobie zaszytych kolejnych jQuery. Proponuję zostawić jedną linię, tę, która wstawia jQuery o najwyższej wersji.

gdzieś tam w dole wywołujesz
Kod: Zaznacz cały
   $.noConflict();

wywal to. Jeśli po usunięciu dwóch jQuery wyżej, na stronie zostaje tylko jedno jQuery, to ta linia nie jest potrzebna. Jeśli masz jeszcze więcej <script>, które wstawiają jQuery, popracuj nad tym, żeby było tylko jedno jQuery wstawione przed wszystkimi innymi skryptami, które od jQuery zależą.

Potem widzę wywołania typu
Kod: Zaznacz cały
j(document).ready(function($){

tj. poprzez zmienną "j". Gdzie ta zmienna jest zdefiniowana? W powyższym kodzie jej nie widzę, więc na razie uznaję to za błąd. Zastąp "j" nazwą "jQuery" bądź "$".

I to jest tyle, ile moge pomóc bez linka do problematycznej strony.
Avatar użytkownikakuku
Rafał Kukawski

+∞
+∞

Posty: 19587
Dołączył(a): 14.04.2002


Powrót do JavaScript


 


  • Podobne wątki
    Odpowiedzi
    Wyświetlone
    Ostatni post

Kto przegląda forum

Użytkownicy przeglądający ten dział: Google [Bot] i 13 gości

Hosting, Domeny, SSL

Subskrypcja

Mamy 50433 zarejestrowanych użytkowników.
Najnowszy użytkownik: Avii


Nasi użytkownicy napisali:

  • 935638 wiadomości
  • w 246573 tematach

Najnowsze wpisy na blogu

Najnowsze artykuły

Najaktywniejsi (ostatnie 30 dni)