2015-03-03 2 views
0

Привет Я изучаю Javascript и застреваю, разрешая проблему JS, связанную с моим проектом. http://www.merekhayaal.com/ Я установил масонский макет, который противоречит остальной части JS. Я читал, что это обычно связано с установкой jQuery. Я только прошу указать здесь. Мне нужно следующий код, чтобы сделать работу макета Масонство:Контекст JQuery в Magento

<script src="babezlondon/modernizr-latest.js"> 

</script> 
<script src="//code.jquery.com/jquery-1.8.3.min.js"></script> 
<script>window.jQuery || document.write('<script src="js/shopshark/jquery-1.8.3.min.js"><\/script>')</script> 

<script src="babezlondon/jquery.masonry.min.js"></script> 
<script src="babezlondon/script.js"></script> 

Но когда я кладу это, остальная часть JS на разрывах страниц. Если решение состоит в том, чтобы реализовать неконфликт в jQuery, какие шаги я могу предпринять, чтобы убедиться, что я делаю это правильно в моем случае, поскольку есть несколько js-файлов, с которыми нужно иметь дело?

+0

Какие ошибки у вас возникли? – Chanckjh

+0

У меня две ошибки «Uncaught TypeError: undefined is not function» для prototype.js и один для jquery.menu.js. Я вернул код и вы можете увидеть результат, если у вас есть время. Я уверен, что исправление - это что-то очень простое, но поскольку я новичок в этом, я немного смущен – Zak

ответ

0

Вы уже пробовали использовать jQuery noConflict? http://api.jquery.com/jquery.noconflict/

<script src="other_lib.js"></script> 
<script src="jquery.js"></script> 
<script> 
$.noConflict(); 
jQuery(document).ready(function($) { 
    // Code that uses jQuery's $ can follow here. 
}); 
// Code that uses other library's $ can follow here. 
</script> 
+0

Я скопировал что-то из Интернета, не понимая его, но я попробую изменить его, как вы описали, и сообщить о результатах. – Zak

0

Просто используйте jQuery в режиме noConflict().

Вставьте это внизу сценария jQuery;

var $jq=jQuery.noConflict(); 

так что теперь вам придется использовать $jq вместо $jQuery или $

Таким образом, каждый сценарий у вас есть для различных ползунков и т.д. Вы можете изменить вар $jq, чтобы удовлетворить.

Надеюсь, это поможет.

http://api.jquery.com/jQuery.noConflict/

+0

Есть так много js-файлы, которые меня смущают, что нужно изменить, есть modernzr, файлы тем, каменная кладка, расширения js и поверх двух разных версий jquery. – Zak

+0

Я бы сохранил последнюю версию jQuery и удалил остальные и проверил , Если какой-либо из ваших JS-файлов использует $, используйте вышеуказанный метод, чтобы изменить его, чтобы использовать другой. Прототип, на котором основан magento, может вызвать проблемы, когда jQuery использует переменную $. – mg33dev

0

Итак, что работал, когда я удалил строку кода

<script src="//code.jquery.com/jquery-1.8.3.min.js"></script> 

из сценария. По-видимому, это вызвало конфликт

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