Javascript mootools幻灯片演示不使用JQuery。需要帮助!
我在一个网站上工作,在那里我刚刚演示了mootools幻灯片。 但我注意到,我使用的菜单栏停止工作,它应该水平下降,但现在没有显示。我已经使用jquery来实现它。请查看网页的来源。有什么问题吗?Mootools与javascript冲突或其他一些问题 如果我尝试使用$.noConflict(),它会在脚本中抛出一个错误Javascript mootools幻灯片演示不使用JQuery。需要帮助!,javascript,jquery,css,mootools,Javascript,Jquery,Css,Mootools,我在一个网站上工作,在那里我刚刚演示了mootools幻灯片。 但我注意到,我使用的菜单栏停止工作,它应该水平下降,但现在没有显示。我已经使用jquery来实现它。请查看网页的来源。有什么问题吗?Mootools与javascript冲突或其他一些问题 如果我尝试使用$.noConflict(),它会在脚本中抛出一个错误 Uncaught TypeError: Object function (B,C){if(B&&B.$family&&B.uid){return
Uncaught TypeError: Object function (B,C){if(B&&B.$family&&B.uid){return B}var A=$type(B);return($[A])?$[A](B,C,this.document):null} has no method 'noConflict'
我尝试了下面给出的解决方案。但它不起作用
<script type="text/javascript" src="<%= ResolveUrl("~/Js/jquery-1.3.2.min.js") %>" ></script>
<script type="text/javascript" src="<%= ResolveUrl("~/Scripts/SlideShow/js/mootools.js") %>"></script>
<script type="text/javascript" src="<%= ResolveUrl("~/Scripts/SlideShow/js/slideshow.js") %>"></script>
<script type="text/javascript" src="<%= ResolveUrl("~/Scripts/SlideShow/js/lightbox.js") %>"></script>
<script type="text/javascript">
// <![CDATA[
$.noConflict();
var timeout = 500;
var closetimer = 0;
var ddmenuitem = 0;
function ddmenu_open(){
ddmenu_canceltimer();
ddmenu_close();
ddmenuitem = $(this).find('ul').css('visibility', 'visible');
}
function ddmenu_close(){
if(ddmenuitem) ddmenuitem.css('visibility', 'hidden');
}
function ddmenu_timer(){
closetimer = window.setTimeout(ddmenu_close, timeout);
}
function ddmenu_canceltimer(){
if(closetimer){
window.clearTimeout(closetimer);
closetimer = null;
}}
$(document).ready(function(){
$('#ddmenu > li').bind('mouseover', ddmenu_open)
$('#ddmenu > li').bind('mouseout', ddmenu_timer)
});
document.onclick = ddmenu_close;
// ]]>
</script>
<script type="text/javascript">
//<![CDATA[
window.addEvent('domready', function(){
var data = {
'1.jpg': { caption: 'Acoustic Guitar,electric,bass,keyboard, indian vocal traning and Music theory.' },
'2.jpg': { caption: 'Acoustic Guitar,electric,bass,keyboard, indian vocal traning and Music theory.' },
'3.jpg': { caption: 'Acoustic Guitar,electric,bass,keyboard, indian vocal traning and Music theory.' },
'4.jpg': { caption: 'Acoustic Guitar,electric,bass,keyboard, indian vocal traning and Music theory.' }
};
// Note the use of "linked: true" which tells Slideshow to auto-link all slides to the full-size image.
//http://code.google.com/p/slideshow/wiki/Slideshow#Options:
var mootoolsSlideshow = new Slideshow('divbanner', data, {loader:true,captions: true, delay: 5000,controller: false, height: 370,linked: false, hu: '<%= ResolveUrl("~/Scripts/SlideShow/Images/") %>', thumbnails: true, width: 1002});
// Here we create the Lightbox instance.
// In this case we will use the "close" and "open" callbacks to pause our show while the modal window is visible.
var box = new Lightbox({
'onClose': function(){ this.pause(false); }.bind(mootoolsSlideshow),
'onOpen': function(){ this.pause(true); }.bind(mootoolsSlideshow)
});
});
//]]>
</script>
//
//
看起来MooTools和jQuery之间存在冲突。Firefox正在显示此错误
$(文档).ready不是功能行40
MooTools使用$作为document.getElementById的指针。jQuery还使用自己的方法扩展了$。看起来MooTools似乎正在通过jQuery覆盖$declaration,从而删除'ready'方法
为了解决这个问题,请通读这篇文章
不过,老实说,混合Javascript库不是一个好主意。最好的方法是找到一个预先存在的MooTools库来执行新添加的jQuery库应该执行的任务。
<script type="text/javascript">
$.noConflict();
jQuery(document).ready(function($) {
// Code that uses jQuery's $ can follow here.
});
// Code that uses other library's $ can follow here.
</script>
$.noConflict();
jQuery(文档).ready(函数($){
//使用jQuery的$的代码如下所示。
});
//使用其他库的$的代码可以在这里找到。
jQuery将此段落的颜色设置为红色,但MooTools将设置边框颜色
//无冲突jquery
jQuery.noConflict();
//jquery材料
(函数($){
$('p').css('color','#ff0000');
})(jQuery);
//摩尔的东西
addEvent('domready',function(){
$$('p').setStyle('border','1px solid#fc0');
});
经过大量的谷歌搜索,我终于找到了解决方案
看到这些变化,其余的将保持不变
//
//
@XGreen我试着用你说的话跑步,但还是不行。你能描述一下你的解决方案吗。我可能犯了一些错误
<p>jQuery sets this paragraph's color to red but MooTools sets the border color.</p>
<script type="text/javascript" src="jquery-1.3.js"></script>
<script type="text/javascript">
//no conflict jquery
jQuery.noConflict();
//jquery stuff
(function($) {
$('p').css('color','#ff0000');
})(jQuery);
</script>
<script type="text/javascript" src="moo1.2.js"></script>
<script type="text/javascript">
//moo stuff
window.addEvent('domready',function() {
$$('p').setStyle('border','1px solid #fc0');
});
</script>
jQuery.noConflict();
jQuery(document).ready(function($){
$('#ddmenu > li').bind('mouseover', ddmenu_open)
$('
<script type="text/javascript">
// <![CDATA[
jQuery.noConflict();
jQuery(document).ready(function($){
$('#ddmenu > li').bind('mouseover', ddmenu_open)
$('#ddmenu > li').bind('mouseout', ddmenu_timer)
var timeout = 500;
var closetimer = 0;
var ddmenuitem = 0;
function ddmenu_open(){
ddmenu_canceltimer();
ddmenu_close();
ddmenuitem = $(this).find('ul').css('visibility', 'visible');
}
function ddmenu_close(){
if(ddmenuitem) ddmenuitem.css('visibility', 'hidden');
}
function ddmenu_timer(){
closetimer = window.setTimeout(ddmenu_close, timeout);
}
function ddmenu_canceltimer(){
if(closetimer){
window.clearTimeout(closetimer);
closetimer = null;
}}
document.onclick = ddmenu_close;
});
// ]]>
</script>
<script type="text/javascript">
//<![CDATA[
window.addEvent('domready', function(){
var data = {
'1.jpg': { caption: 'Acoustic Guitar,electric,bass,keyboard, indian vocal traning and Music theory.' },
'2.jpg': { caption: 'Acoustic Guitar,electric,bass,keyboard, indian vocal traning and Music theory.' },
'3.jpg': { caption: 'Acoustic Guitar,electric,bass,keyboard, indian vocal traning and Music theory.' },
'4.jpg': { caption: 'Acoustic Guitar,electric,bass,keyboard, indian vocal traning and Music theory.' }
};
// Note the use of "linked: true" which tells Slideshow to auto-link all slides to the full-size image.
//http://code.google.com/p/slideshow/wiki/Slideshow#Options:
var mootoolsSlideshow = new Slideshow('divbanner', data, {loader:true,captions: true, delay: 5000,controller: false, height: 370,linked: false, hu: '<%= ResolveUrl("~/Scripts/SlideShow/Images/") %>', thumbnails: true, width: 1002});
// Here we create the Lightbox instance.
// In this case we will use the "close" and "open" callbacks to pause our show while the modal window is visible.
var box = new Lightbox({
'onClose': function(){ this.pause(false); }.bind(mootoolsSlideshow),
'onOpen': function(){ this.pause(true); }.bind(mootoolsSlideshow)
});
});
//]]>
</script>