我与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>
答案 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>