2012-03-04 2 views
0

Я недавно работал над сайтом и реализовал как светлое окно, так и easyslider. Оба они отлично работают сами по себе, но если вы объедините два из них, то либо легкий слайдер работает, либо светлое окно. Я пришел к выводу, что они оба пытаются использовать функцию с тем же именем, но с разными декларациями ...два файла javascript, которые ненавидят друг друга

Адреса для сайта http://semaphoredesign.com/web-devel/oceanair/

Просто фиксировался недостающий prototype.js файл

+1

Вы пытаетесь использовать прототип и JQuery на том же сайте. Вам нужно будет вызвать jQuery.noConflict(), а затем прекратить использовать знак $ для ссылки на jQuery. – Interrobang

+0

ОК, спасибо, где бы объявить jQuery.noConflict()? – Charlie

ответ

1

Для использования Prototype и JQuery вместе:

<script type="text/javascript" src="scripts/easyslider/js/jquery.js"></script> 
<script type="text/javascript"> 
    // declare a global variable set to jQuery.noConflict(); 
    var jq = jQuery.noConflict(); 
    // in all jQuery scripts, use jq (or whatever you call the global) instead of $. 
</script> 
+0

Я сделал это, и Easyslider работает, но lightwindow этого не делает, у светлого окна нет никаких объявлений внутри html-документа – Charlie

+0

, делая это я сделал работу easyslider и lightwindow fail – Charlie

+0

Мне нужно изменить все $ to jq в .js-файлах? – Charlie

2

Когда я смотрю на свою консоль в хроме, я вижу, что вы получаете 404 на своем prototype.js, чего хочет lightwindow. Попробуйте обратиться к этому и посмотреть, что произойдет.

+0

мой плохой, забыл нажать отправить на ftp, он есть сейчас – Charlie

+0

Там вы идете. Теперь ваша проблема, как предлагает @interrobang, конфликт $. http://api.jquery.com/jQuery.noConflict/ –

+0

Я работаю над этим сейчас, спасибо – Charlie

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