jquery与prototype.light发生冲突

时间:2015-12-24 12:22:30

标签: javascript jquery

我与jquery和prototype有冲突。我的fancybox不起作用。如果我断开原型脚本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>

2 个答案:

答案 0 :(得分:0)

尝试将代码包装在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>

答案 1 :(得分:0)

对不起,给定的答案都没有解决问题。

我在页面上有另一个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>