2010-10-30 2 views
0

Я попытался реализовать 2 плагина на странице и когда я представляю второй ... 1-й плагин перестает работать .. можете ли вы, пожалуйста, помочь мне в этом .. он - страница, я пытаясь построить ..2 javascripts плагин не работает вместе

http://www.abc.com/home21

и вот 2 плагина я пытаюсь использовать.

http://www.catswhocode.com/blog/how-to-integrate-a-slideshow-in-your-wordpress-theme

http://www.fyneworks.com/jquery/star-rating/

вот мой код .. Оценка скрипт работает с самого начала. я пытался добавить слайд-шоу на этой странице, как

<link rel="stylesheet" href="testing/t1/css/layout.css" type="text/css" media="screen" charset="utf-8" /> 
<link rel="stylesheet" href="testing/t1/css/jd.gallery.css" type="text/css" media="screen" charset="utf-8" /> 
<script src="testing/t1/scripts/mootools.v1.11.js" type="text/javascript"></script> 
<script src="testing/t1/scripts/jd.gallery.js" type="text/javascript"></script> 
<script src="testing/t1/scripts/jd.gallery.transitions.js" type="text/javascript"></script> 
<script type="text/javascript"> 

var newj = jQuery.noConflict(); 
function startGallery() { 
var myGallery = new gallery(newj('myGallery'), { 
timed: true, 
showArrows: false, 
embedLinks: false, 
showCarousel: true, 
defaultTransition: "continuoushorizontal" 
}); 
    } window.onDomReady(startGallery); 

    </script> 

пожалуйста, помогите мне, как решить эту проблему

+1

Добро пожаловать в прекрасный мир jQuery. Если бы у меня был доллар навсегда ошибка или конфликт, я нашел с плагином ... – mikerobi

+0

Решение Woppi предлагает работать для вас. Мой совет, однако, будет заключаться в использовании слайд-шоу jQuery или системы рейтинга звезд Mootools и не пытайтесь использовать две разные библиотеки на одной странице. Помимо всего прочего, это приведет к увеличению времени загрузки, но также вызовет все виды головных болей, подобных этому. – lonesomeday

+0

Хммм ... попробуйте этот jQuery.noConflict(); – Woppi

ответ

3

Вы используете как Mootools и JQuery. Эти две библиотеки javascript перезаписывают друг друга.

http://www.catswhocode.com/blog/how-to-integrate-a-slideshow-in-your-wordpress-theme использует Mootools http://www.fyneworks.com/jquery/star-rating/ использует Jquery

Вам нужно будет найти плагины, которые используют только JQuery или MooTools. См:

http://mootools.net/forge/

http://plugins.jquery.com/

Для более плагинов для каждой структуры.

2

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

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

jQuery.noConflict(); 
function startGallery() { 
var myGallery = new gallery($('myGallery'), { 
timed: true, 
showArrows: false, 
embedLinks: false, 
showCarousel: true, 
defaultTransition: "continuoushorizontal" 
}); 
} window.onDomReady(startGallery); 

Что касается вашего использования $ всего вашего сайта, это будет делать это (на основе доку):

<script type="text/javascript" src="other_lib.js"></script><!-- your mootools lib--> 
<script type="text/javascript" src="jquery.js"></script> 
<script type="text/javascript"> 
$.noConflict(); 
jQuery(document).ready(function($) { 
// Code that uses jQuery's $ can follow here. 
$('#id-here').click(function(e) { 
    alert('I can use $ here with no conflicts on other js libraries!'); 
}); 

}); 
// Code that uses other library's $ can follow here. 
    function startGallery() { 
    var myGallery = new gallery($('myGallery'), { 
    timed: true, 
    showArrows: false, 
    embedLinks: false, 
    showCarousel: true, 
    defaultTransition: "continuoushorizontal" 
    }); 
    } window.onDomReady(startGallery); 
</script> 

Если это все еще не сработало, найдите время, чтобы прочитать руководство ... вы получите его в конце концов ^^ Просто знайте, что использование .noConflict сработало для меня в аналогичном случае, когда у меня было некоторое время назад.

Хотя мне очень интересно, где рейтинг звезда код находится ...

+0

Никогда не видел этого раньше, довольно впечатлен. Исправьте меня, если я ошибаюсь, но вам нужно будет повторно ссылаться на все функции $() в коде jquery? –

+0

В документации есть много способов сделать это. Вы можете попробовать и посмотреть, что подходит вашему кодированию. Я давно пробовал играть с ним ... вы можете сделать это var ian = jQuery.noConflict(); ian ('# id-here'). Live ('click', function (e) {// здесь код}); – Woppi

+0

Теперь, когда вы сделали, что другая библиотека может использовать $ ... ха-ха! Повеселись! – Woppi

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