jquery conflict with prototype.light

jquery conflict with prototype.light

本文关键字:light prototype with conflict jquery      更新时间:2023-09-26

我与jquery和prototype有冲突。我的幻想盒坏了。如果我断开原型脚本,fancybox就会工作。我尝试过jQuery.noConflict,但它不适用于Fancybox。我尝试了几种选择,但都没能成功。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script type="text/javascript" src="fancybox/source/jquery.fancybox.pack.js"></script>
<script type="text/javascript" src="scripts/prototype.lite.js"></script>
<script type="text/javascript" src="scripts/moo.fx.js"></script>
<script type="text/javascript" src="scripts/moo.fx.pack.js"></script>
<script type="text/javascript" src="js/image_fade.js"></script>
<script type="text/javascript" src="js/responsive-tables.js"></script>
<script type="text/javascript">
  var $j = jQuery.noConflict();
    $j(document).ready(function()    {
    $j(".fancybox").fancybox();
  });
</script>

尝试将代码包装在IIFE:中

<script type="text/javascript">
     (function($){ // use it securely using "$", won't conflict with other lib
       $(document).ready(function(){
         $(".fancybox").fancybox();
       });
     })(jQuery); // <----pass jQuery
</script>

很抱歉,给出的答案都不能解决问题。

我在页面上有另一个没有冲突的jquery。这提供了网站上的日期和实时信息。这很好。

<script type="text/javascript">
  var $time = jQuery.noConflict();
  $time(document).ready(function() {
var currenttime = '{ACTUALDATE}';
var serverdate = new Date(currenttime);
function padlength(what){
    var output=(what.toString().length==1)? "0"+what : what;
    return output;
}
function displaytime(){
    serverdate.setSeconds(serverdate.getSeconds()+1)
    var timestring=padlength(serverdate.getHours())+":"+padlength(serverdate.getMinutes())+":"+padlength(serverdate.getSeconds());
    $time("#servertime").html(timestring);
}
setInterval(displaytime, 1000);
   });
   </script>