JQuery幻灯片和MooTools冲突

时间:2010-12-01 03:55:56

标签: javascript jquery mootools

我遇到了与我的jQuery库冲突的motools库的问题:

以下是代码:

<script language="Javascript" type="text/javascript" src="revamp/js/jquery-1.4.2.js"></script>
<script language="Javascript" type="text/javascript" src="revamp/js/jquery.blinds-0.9.js"></script>

<script type="text/javascript" src="js/mootools-1.2-core.js"></script> 
<script type="text/javascript" src="js/_class.viewer.js"></script> 

<script type="text/javascript">//<![CDATA[
        window.addEvent('domready',function(){
        var V5 = new viewer($('boxCont').getChildren(),{
            mode: 'alpha',
            fxOptions: {duration:500},
            interval: 6000
        });
        V5.play(true);  

        });
</script> 

<script type="text/javascript">

            $(window).load(function () {
                // start the slideshow
                $('.slideshow').blinds();
            })
</script>

如果我禁用mootools,幻灯片工作(反之亦然,使用jQuery)。我试着围绕jQuery.noConflict()包装jQuery;像这样:

<script type="text/javascript">
$.noConflict();
  jQuery(document).ready(function($) {
        $(window).load(function () {
                // start the slideshow
                $('.slideshow').blinds();
            })
});
</script>

但是仍然依赖于mootools的脚本不起作用。请帮助,因为我不熟悉jQuery / javascript。

谢谢!

2 个答案:

答案 0 :(得分:1)

一旦调用jQuery.noConflict(),就可以通过jQuery而不是$来引用jQuery。然后,MooTools或其他JavaScript库可以使用$。

<script type="text/javascript">
    jQuery.noConflict();
    jQuery(document).ready(function() {
        jQuery(window).load(function () {
                // start the slideshow
                jQuery('.slideshow').blinds();
        })
    });
</script>

如果您想给jQuery另一个名字,可以执行以下操作:

<script type="text/javascript">
    var jq = jQuery.noConflict();
    jq(document).ready(function() {
        jq(window).load(function () {
                // start the slideshow
                jq('.slideshow').blinds();
        })
    });
</script>

答案 1 :(得分:0)

您想要jQuery.noConflict()

但是你真的不需要,因为你正在使用jQuery作为你的jQuery别名,并且你传递$作为映射到jQuery对象的参数。

只要你的所有jQuery(和jQuery)都在jQuery(document).ready()内发生,那么你就可以使用$来获取jQuery而不用担心冲突。