У меня есть два WebUsercontrols (.ascx) на моей странице aspx. Один для слайд-шоу, а другой для FullCalendar. Оба работают нормально, работая отдельно, но когда я запускаю оба пользовательских элемента управления в одной и той же странице скрипта сценария возникает ошибка, как показано ниже:
Описание ошибки:
Скрипт это:
SlideShow.ascx
<script type="text/javascript" src="/jquery-1.4.1.js"></script>
<script type="text/javascript">
function pageLoad(sender, args) {
var $slides = $('.slide'),
slideWidth = $slides.width(),
numberOfSlides = $slides.length,
speed = 5000,
$holder = $slides.wrapAll('<div id="slidesHolder"></div>').css('float', 'left').parent().width(slideWidth * numberOfSlides);
setInterval(changePosition, speed);
function changePosition() {
$holder.animate({
'marginLeft': 0 - slideWidth
}, function () {
$holder.css('marginLeft', 0).children().first().appendTo($holder);
});
}
}
</script>
FullCalendar.ascx
<script src="/jquery-1.3.2.js" type="text/javascript"></script>
<script src="/jquery-ui-1.7.3.custom.min.js" type="text/javascript"></script>
<script src="/fullcalendar.min.js" type="text/javascript"></script>
<script src="/calendarscript.js" type="text/javascript"></script>
Я пытался для noConflict
. Если я использую noConflict
один из сценариев не работает.
<script type="text/javascript" src="/jquery-1.4.1.js"></script>
После включения jQuery вы должны вызвать $.noConflict(). Это приведет к удалению "$" из глобального пространства имен:
<script language="javascript">
var $j = jQuery.noConflict();
</script>
На этом этапе вам нужно использовать $ j вместо $, если вы хотите вызвать код jQuery. Или вы можете использовать трюк, обернув символ $ в закрытии
<script type="text/javascript">
function pageLoad(sender, args) {
var $jslides = $j('.slide'),
slideWidth = $jslides.width(),
numberOfSlides = $jslides.length,
speed = 5000,
$jholder = $jslides.wrapAll('<div id="slidesHolder"></div>').css('float', 'left').parent().width(slideWidth * numberOfSlides);
setInterval(changePosition, speed);
function changePosition() {
$jholder.animate({
'marginLeft': 0 - slideWidth
}, function () {
$jholder.css('marginLeft', 0).children().first().appendTo($jholder);
});
}
}
</script>
Надеюсь это поможет..!!
Счастливое кодирование :)
Попробуйте запустить после удаления: /jquery-1.4.1.js
Если он работает, тогда все в порядке
Попытайтесь положить это внизу своей страницы
<script type="text/javascript">
function pageLoad(sender, args) {
var $slides = $('.slide'),
slideWidth = $slides.width(),
numberOfSlides = $slides.length,
speed = 5000,
$holder = $slides.wrapAll('<div id="slidesHolder"></div>').css('float', 'left').parent().width(slideWidth * numberOfSlides);
setInterval(changePosition, speed);
function changePosition() {
$holder.animate({
'marginLeft': 0 - slideWidth
}, function () {
$holder.css('marginLeft', 0).children().first().appendTo($holder);
});
}
}
</script>
используйте <script>jQuery.noConflict();</script>
и замените слово jquery
$