Javascript 如何让这两个jQuery脚本协同工作?

Javascript 如何让这两个jQuery脚本协同工作?,javascript,jquery,audio,lightbox,Javascript,Jquery,Audio,Lightbox,一个是MP3的音频播放器,另一个是我想在其中显示YouTube视频的灯箱 这是头像: <script type="text/javascript" src="videobox/js/mootools.js"></script> <script type="text/javascript" src="videobox/js/swfobject.js"></script> <script type="text/javascript" src="v

一个是MP3的音频播放器,另一个是我想在其中显示YouTube视频的灯箱

这是头像:

<script type="text/javascript" src="videobox/js/mootools.js"></script>
<script type="text/javascript" src="videobox/js/swfobject.js"></script>
<script type="text/javascript" src="videobox/js/videobox.js"></script>
<link rel="stylesheet" href="videobox/css/videobox.css" type="text/css" media="screen" />

<link rel="stylesheet" href="libs/css/styles.css" />
<script src="libs/jquery/jquery.js"></script>
<script src="src/jquery.ubaplayer.js"></script>
<script>
   $(function(){
            $("#ubaPlayer").ubaPlayer({
            codecs: [{name:"MP3", codec: 'audio/mpeg;'}]
            });
        });
</script>

$(函数(){
$(“#ubaPlayer”).ubaPlayer({
编解码器:[{name:“MP3”,编解码器:'audio/mpeg;'}]
});
});
我注意到,当我删除“libs/jquery/jquery.js”时,lightbox可以工作,但随后我的音频播放器停止工作

对于Javascript/JQuery,我不是很熟练,所以答案可能是显而易见的

更新:

这解决了问题

<script type="text/javascript" src="videobox/js/mootools.js"></script>
<script type="text/javascript" src="videobox/js/swfobject.js"></script>
<script type="text/javascript" src="videobox/js/videobox.js"></script>
<link rel="stylesheet" href="videobox/css/videobox.css" type="text/css" media="screen" />

<link rel="stylesheet" href="libs/css/styles.css" />
<script src="libs/jquery/jquery.js"></script>
<script src="src/jquery.ubaplayer.js"></script>
<script>
   jQuery.noConflict();
   jQuery(function(){
            jQuery("#ubaPlayer").ubaPlayer({
            codecs: [{name:"MP3", codec: 'audio/mpeg;'}]
            });
        });
</script>

jQuery.noConflict();
jQuery(函数(){
jQuery(“#ubaPlayer”).ubaPlayer({
编解码器:[{name:“MP3”,编解码器:'audio/mpeg;'}]
});
});

MooTools和jQuery都使用
$
变量,这意味着不能同时使用它们。2种解决方案:

  • 搜索这两个特性的jQuery/MooTools实现,我相信您会找到它们
  • 用于让MooTools使用
    $
    变量
  • 使用
    jQuery
    变量而不是
    $
    ,并将MooTools包含在jQuery之后。如果要使用jQuery的
    $
    快捷方式,请将jQuery代码包装在domready事件中,并将
    $
    作为回调参数:

    jQuery(function($) {
        // ... jQuery code ($ has a copy of `jQuery` now)
    });
    // ... MooTools code ($ has a reference to the `MooTools.id` method now)
    

  • MooTools和jQuery都使用
    $
    变量,这意味着不能同时使用它们。2种解决方案:

  • 搜索这两个特性的jQuery/MooTools实现,我相信您会找到它们
  • 用于让MooTools使用
    $
    变量
  • 使用
    jQuery
    变量而不是
    $
    ,并将MooTools包含在jQuery之后。如果要使用jQuery的
    $
    快捷方式,请将jQuery代码包装在domready事件中,并将
    $
    作为回调参数:

    jQuery(function($) {
        // ... jQuery code ($ has a copy of `jQuery` now)
    });
    // ... MooTools code ($ has a reference to the `MooTools.id` method now)
    

  • 您可以将jQuery代码隔离在自动执行函数中,该函数将jQuery对象作为参数传递。因此,$表示在jQuery范围内,但在jQuery范围外可以是其他内容

    (function ($) {
    
        // your jQuery code here
    
    }(jQuery));
    
    通常还传递对象窗口以避免解析全局范围,并接收窗口和未定义窗口。由于您只传递了2个参数,第3个参数必须是未定义的,这提高了代码的可压缩性并使其更加稳定(不幸的是,未定义的参数可能会被重新定义)


    您可以将jQuery代码隔离在自动执行函数中,该函数将jQuery对象作为参数传递。因此,$表示在jQuery范围内,但在jQuery范围外可以是其他内容

    (function ($) {
    
        // your jQuery code here
    
    }(jQuery));
    
    通常还传递对象窗口以避免解析全局范围,并接收窗口和未定义窗口。由于您只传递了2个参数,第3个参数必须是未定义的,这提高了代码的可压缩性并使其更加稳定(不幸的是,未定义的参数可能会被重新定义)


    您的页面中存在冲突。尝试用jQuery替换$,并将jQuery.noConflict()放在前面。我应该将jQuery.noConflict()放在哪里?页面中存在冲突。试着用jQuery替换$,并将jQuery.noConflict()放在前面我应该把jQuery.noConflict()放在哪里?你能简单一点解释数字3吗?“使用jQuery变量而不是$”是什么意思?@user2150204我建议您使用其他两种解决方案之一,但答案是:jQuery正式保存在
    jQuery
    变量中,但它在
    $
    变量中有一个简单的捷径。如果
    $
    变量更改为MooTools,您仍然可以使用
    jQuery
    变量(因为两个变量都有jQuery框架的副本)。因此,如果我使用数字2,我在哪里输入jQuery.noConflict?@user2150204您实际阅读了我链接到的副本上给出的答案吗??而且,1确实是最好的一个,只要找到jQuery实现,就有很多插件。加载2个库对于2个特性来说太大了。现在,第2个修复了这个问题,但我真的不明白如何合并这两个库。它们本质上是一样的吗?你能简单地解释一下3号吗?“使用jQuery变量而不是$”是什么意思?@user2150204我建议您使用其他两种解决方案之一,但答案是:jQuery正式保存在
    jQuery
    变量中,但它在
    $
    变量中有一个简单的捷径。如果
    $
    变量更改为MooTools,您仍然可以使用
    jQuery
    变量(因为两个变量都有jQuery框架的副本)。因此,如果我使用数字2,我在哪里输入jQuery.noConflict?@user2150204您实际阅读了我链接到的副本上给出的答案吗??而且,1确实是最好的一个,只要找到jQuery实现,就有很多插件。加载2个库对于2个特性来说太大了。现在,第2个修复了这个问题,但我真的不明白如何合并这两个库。它们本质上是一样的吗?