2011-10-23 2 views
1

Я не уверен, как включить две библиотеки jquery, которые мне нужны для одновременной работы slidedeck и lightbox. Если я удалю «jquery.js», slidedeck будет работать, но лайтбокс не будет. Если я удалю «jquery-1.3.2.min.js», с другой стороны, лайтбокс будет работать, но sliddeck не будет.Контексты библиотеки JQuery

Попытка запустить их обоих в то же время приводит к slidedeck работы/лайтбокса разбитым, и генерирует следующий отчет в Google Chrome:

[Error Msg in Chrome]

Может кто-нибудь помочь мне понять, как запустить оба эти jquery-плагины одновременно?

Спасибо, Ник

ответ

2

Замены и те, с этим:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js" type="text/javascript"></script> 

JQuery до 1.6.4 человека, должен идти в ногу :)

+0

Не отвечает на вопрос, но я согласен. Он должен просто обновить все 3 (jQuery, lightbox и sidedeck) до последней версии и не включать 2 версии jQuery. –

+0

@Alien: Спасибо. Это работает сейчас, но есть ли какие-либо подсказки относительно того, почему лайтбокс движется намного медленнее сейчас? Чтобы прояснить, перемещение между изображениями при попадании «следующего» или «предыдущего» происходит намного медленнее после внесения этого изменения. –

+0

Нет, мне нужно будет увидеть ваш сайт и пройти код до/после. Обновлен ли ваш код лайтбокса? – AlienWebguy

1

использование noConflict

<script src='jquery-1.3.2.js'></script> 
<script> 
var jq132 = jQuery.noConflict(); 
</script> 
<script src='jquery-1.4.2.js'></script> 
<script> 
var jq142 = jQuery.noConflict(); 
</script> 

используйте соответствующие версии с соответствующими плагинами, такими как (коды не изображают, как плагины фактически используются, но добавил только для ясности)

jq132("element").sliddeck(); // i don't know about sliddeck so don't know how to use 

и

jq142("element").lightbox(); 

, как @ Sparky672 указано вы должны включить jquery, прежде чем включать любой другой xyz.js

+0

Поскольку плагин, вероятно, был определен как 'jQuery.fn.myPlugin = function() {...}', он скорее всего будет применен к последнему экземпляру jQuery. –

+0

'lightBox' с капиталом B. –

+0

У вас есть период после' jq142' в вашем втором примере. – Sparky

2

Если я удалю «jquery.js», slidedeck будет работать, но лайтбокс не будет.

При удалении jquery.js, Lightbox не работает, потому что вы в том числе его ПЕРЕД jQuery-1.3.2.min.js. Другими словами, если этот конкретный экземпляр jQuery удален, вы включаете Lightbox без jQuery.

jQuery должен быть включен до любые/все плагины.

Если удалить "Jquery-1.3.2.min.js", с другой стороны, лайтбоксы воля работы, но sliddeck не будут.

Это, вероятно, потому, что jquery.js устарел.

Включите последнюю версию jQuery ОДИН, а до вы включите оба плагина.

Смежные вопросы