我在一个网站上工作,我有一堆脚本彼此相邻。
我实现了另一个砌体脚本,它本身可以正常工作,但是当我将它们与另一个脚本一起放置时,我在 Chrome 控制台中收到错误消息:
Uncaught SyntaxError: Unexpected end of input masonry.js:16
Uncaught TypeError: Object [object Object] has no method 'colladjust'
id 或类变量可能存在某种冲突。或覆盖对象。
这是砌体脚本:
<script type="text/javascript">
jQuery(document).ready(function($) {
var CollManag = (function() {
var $ctCollContainer = $('#ct-coll-container'),
collCnt = 1,
init = function() {
changeColCnt();
initEvents();
initPlugins();
},
changeColCnt = function() {
var w_w = $(window).width();
if( w_w <= 640 ) n = 1;
else if( w_w <= 1023 ) n = 2;
else n = 3;
},
initEvents = function() {
$(window).on( 'smartresize.CollManag', function( event ) {
changeColCnt();
});
},
initPlugins = function() {
$ctCollContainer.imagesLoaded( function(){
$ctCollContainer.masonry({
itemSelector : '.ct-coll-item',
columnWidth : function( containerWidth ) {
return containerWidth / n;
},
isAnimated : true,
animationOptions: {
duration: 400
}
});
});
$ctCollContainer.colladjust();
$ctCollContainer.find('div.ct-coll-item-multi').collslider();
};
return { init: init };
})();
CollManag.init();
});
</script>
这是冲突的脚本之一:
jQuery(document).ready(function($) {
$(document).ready(function() {
$('.sidebarlink').click(function(){
if ($("#content").hasClass("sidebar-active")){
$("#content").toggleClass("sidebar-active");
$("#content").toggleClass("sidebar-active-1600");
$(".sidebarbox").toggleClass("sidebar-active");
$(".sidebarlink").css( "opacity", 1 );
}else{
$("#content").toggleClass("sidebar-active");
$("#content").toggleClass("sidebar-active-1600");
$(".sidebarbox").toggleClass("sidebar-active");
$(".commentbox").removeClass("commentbox-active");
$("#content").removeClass("commentbox-active");
$("#content").removeClass("commentbox-active-1600");
$(".sidebarlink").css( "opacity", 0 );
$(".commentbox-link").css( "opacity", 1 );
}return false;
});
});
});