WN

WN (https://www.wn.se/forum/index.php)
-   Klientsidans teknologier, design och grafik (https://www.wn.se/forum/forumdisplay.php?f=12)
-   -   jQuery Conflict (https://www.wn.se/forum/showthread.php?t=1062078)

niklas_SWED 2014-06-17 11:54

jQuery Conflict
 
Har ett problem med en sida jag utvecklar där jag försöker köra följande:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script>
$(document).ready( function(){
$('#auto').load('messages.php');
refresh();
});

function refresh()
{
setTimeout( function() {
$('#auto').load('messages.php');
refresh();
}, 2000);
}
</script>


Problemet är att ovanstående "jquery.min.js" går i konflikt med "jquery.colorbox.min.js". Båda går alltså inte att köra samtidigt på sidan.

Jag är ingen höjdare på js, men har någon nåt tips på vad jag kan göra/börja någonstans?

allstars 2014-06-17 13:28

jquery.colorbox har ett beroende till jquery då det är ett plugin.

Vad är det som orsakar felet exakt?

Jag ser inte att colorbox används alls i detta fallet.

Gällande funktionerna ovan hade jag nog gjort så här:
Kod:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script>
var _t;
$(document).ready( function(){
        loadMessages();       
        initLoadMessages();
});

function initLoadMessages()
{
        _t = setInterval( function() {loadMessages()}, 2000);
}

function stopLoadMessages()
{
        clearInterval(_t);
}

function loadMessages()
{
        $('#auto').load('messages.php');
}
</script>


niklas_SWED 2014-06-17 15:57

Tack för svar!

Ska prova ditt sätt och se om det hjälper något.
Ang. colorbox så används den på sidan för att öppna upp popup fönster för att visa ex. medlemsbilder.

Så fort jag inkluderar jquery.min.js så slutar popup fönstret att fungera. Dock öppnar sig fönstret, men bläddring funktionen och bildvisning blir utslagen.

Citat:

Ursprungligen postat av allstars (Inlägg 20493598)
jquery.colorbox har ett beroende till jquery då det är ett plugin.

Vad är det som orsakar felet exakt?

Jag ser inte att colorbox används alls i detta fallet.

Gällande funktionerna ovan hade jag nog gjort så här:
Kod:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script>
var _t;
$(document).ready( function(){
        loadMessages();       
        initLoadMessages();
});

function initLoadMessages()
{
        _t = setInterval( function() {loadMessages()}, 2000);
}

function stopLoadMessages()
{
        clearInterval(_t);
}

function loadMessages()
{
        $('#auto').load('messages.php');
}
</script>



Stefan Johansson 2014-06-17 16:09

Det är inte så att Colorbox slutar fungera för att den version du använder är för gammal, d.v.s. att den inte är kompatibel med den version av jQuery som du använder?

allstars 2014-06-17 16:25

Eller att du redan inkluderar jquery på sidan?!

Tsarraz 2014-06-17 16:40

Prova byta plats på jquery.min och colorbox.min
så de anropas i rätt ordning

niklas_SWED 2014-06-17 21:58

Tack Tsarraz!

Platsbytet fick det att fungera.

Citat:

Ursprungligen postat av Tsarraz (Inlägg 20493610)
Prova byta plats på jquery.min och colorbox.min
så de anropas i rätt ordning


niklas_SWED 2014-06-18 15:07

Är det någon fördel att använda din lösning istället för den jag hade tidigare?

Den ska genom message.php se om några nya meddelanden finns för en medlem som är inloggad på sidan.

Citat:

Ursprungligen postat av allstars (Inlägg 20493598)
jquery.colorbox har ett beroende till jquery då det är ett plugin.

Vad är det som orsakar felet exakt?

Jag ser inte att colorbox används alls i detta fallet.

Gällande funktionerna ovan hade jag nog gjort så här:
Kod:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script>
var _t;
$(document).ready( function(){
        loadMessages();       
        initLoadMessages();
});

function initLoadMessages()
{
        _t = setInterval( function() {loadMessages()}, 2000);
}

function stopLoadMessages()
{
        clearInterval(_t);
}

function loadMessages()
{
        $('#auto').load('messages.php');
}
</script>



allstars 2014-06-18 17:28

Min lösning ger bättre styrning, t ex om du tillfälligt vill stänga av uppdateringen och sedan sätta igång den igen.


Alla tider är GMT +2. Klockan är nu 15:22.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson