[ maxer @ 23.12.2010. 09:17 ] @
Pravim neku aplikaciju koja koristi jquery.min.js i jquery-1.4.2.min.js. Kada pokrenem aplikaciju i kada su obe biblioteke ukljucene u generisanu web stranu dolazi do sukoba prilikom poziva "neke" (ne znam tacno koje) funkcije fajla jquery.min.js, t.j. zove se istoimena funkcija fajla jquery-1.4.2.min.js. Kada iskljucin jquery-1.4.2.min.js iz web strane poziva se prava funkcija (t.j. radi kako treba), ali u tom slucaju ne rade druge stvari koje zavise od jquery-1.4.2.min.js.

Zna li neko kako da resim ovaj sukob.
[ Aleksandar Ružičić @ 23.12.2010. 10:45 ] @
koja ti je verzija jquery-ja taj jquery.min.js (treba da pise u samom fajlu, u komentaru na pocetku)?
[ agvozden @ 23.12.2010. 10:56 ] @
JQuery mozes da iniciras samo jednom.

Pokusaj da ostavis samo jquery 1.4. Neke starije skripte ne rade sa njim, pa ukoliko imas problem savetujem ti da skines te skripte i potrazis na netu novije.
[ maxer @ 23.12.2010. 11:08 ] @
jquery.min.js fajl je 1.3.2 verzija ove biblioteke. Problem je sto druga bibl. (BreadCrumb.js) koristi bas ovu verziju. 1.4.2 je novija verzija ove bibl. ali ona u kombinaciji sa BreadCrumb.js ne daje prave rezultate.
[ Aleksandar Ružičić @ 23.12.2010. 14:40 ] @
Citat:
agvozden: JQuery mozes da iniciras samo jednom.

jquery nema problema da radi paralelno sa bilo kojom drugom bibliotekom pa tako ni sa samom sobom :)


@maxer:

ja bih ti, kao i agvozden, savetovao da pogledas po netu da li postoji novija verzija te breadcrumb skripte ili da li ima neka druga koja radi isti posao a koristi 1.4.x verziju jquerija.

ukoliko bas moras da koristis i jquery 1.3 i 1.4 onda mozes to da izvedes ovako:

1. prvo linkuj 1.3 verziju:
Code (html):

<script type="text/javascript" src="jquery.min.js"></script>

2. zatim dodaj sledeci <script> tag:
Code (html):

<script type="text/javascript">window.JQuery13 = jQuery.noConflict(true);</script>
 

3. sada ces morati da izmenis taj breadcrumb.js tako sto ces dodati sledece dve linije na sam pocetak i na sam kraj tog fajla:
Code (javascript):

(function(jQuery){ var $ = jQuery;

// ... ovde sadrzaj breadcrumb.js fajla

})(jQuery13);
 

4. zatim linkuj i taj breadcrumb skript:
Code (html):

<script type="text/javascript" src="breadcrumb.js"></script>

5. sada mozes slobodno da dodas najnoviji jquery i skripte koje ga koriste, nece biti nikakvih konflikata
[ maxer @ 23.12.2010. 18:32 ] @
Ok, probacu. Hvala.
[ programer u pokusaju @ 09.03.2011. 05:44 ] @
ovde se prica bas o onome sto mi treba

naime, radim sajt koji u hederu ima slideshow a sa strane tabove koji otvaraju sheet-ove

slideshow koristi jquery-1.5.1.js
a tabovi mootools.js

kada ukljucim samo jedno od njih, rade
ali kada ukljucim oba, onda radi samo slideshow

probao sam sve o cemu se pisalo ovde ali ne pomaze


poslednje sto sam probao, pronasao sam na docs.jquery.com, ali ni to ne pomaze, jer rade samo tabovi

evo koda

Code:
<script type="text/javascript">
  $.noConflict();
  jQuery(document).ready(function($) {

window.addEvent("load", init);
                        function init() {
                            myTabs1 = new JATabs("myTab-188597839", {animType:'animMoveHor',style:'nickel',position:'top',width:'100%',height:'auto',mouseType:'click',duration:1000,colors:10,useAjax:false,skipAnim:false});                            
                        }
                        //new JATabs("myTab-188597839", {animType:'animMoveHor',style:'nickel',position:'top',width:'100%',height:'auto',mouseType:'click',duration:1000,colors:10,useAjax:false,skipAnim:false});                                                    
//dovde je deo za tabove

});

//odavde krece slideshow
  function slideSwitch() {
    var $active = $('#slideshow DIV.active');

    if ( $active.length == 0 ) $active = $('#slideshow DIV:last');
      var $next =  $active.next().length ? $active.next()
        : $('#slideshow DIV:first');

    
    $active.addClass('last-active');

    $next.css({opacity: 0.0})
        .addClass('active')
        .animate({opacity: 1.0}, 1000, function() {
            $active.removeClass('active last-active');
        })(jQuery);
}

$(function() {
   setInterval( "slideSwitch()", 5000 );
});
 
</script>


ima li neko ideju?



Koristi odgovarajuće tag-ove za kôd

[Ovu poruku je menjao Nikola Poša dana 09.03.2011. u 18:58 GMT+1]
[ Nikola Poša @ 09.03.2011. 20:59 ] @
Ako sam dobro razumeo tebe i taj tvoj kôd, onda je rešenje sledeće:
Code:
jQuery.noConflict();
(function($) { 
   //ovde ubaci deo vezan za slideshow
})(jQuery);

window.addEvent("load", function(
    //ovde ide kôd koji koristi mootools
));
[ programer u pokusaju @ 10.03.2011. 19:49 ] @
pokusavao sam tako ali nije htelo
na kraju, sam stavio

jQuery(document).ready(function($){

setInterval(function() {
var $active = $('#slideshow DIV.active');

if ( $active.length == 0 ) $active = $('#slideshow DIV:last');
..........
..........



a bilo je



$(function() {
setInterval( "slideSwitch()", 5000 );
});

znaci, umesto da poziva "slideSwitch()" ja sam stavio celu "slideSwitch()" na to mesto...tako je proradilo

hvala vam u svakom slucaju