我正在尝试调整容器的大小并设置宽度和高度。它不是代码的全部,但是我调用了无限循环 $。fn.imageScale.resizeContainer 功能,我找不到原因?
$( window ).load(function(){
$( '#scalable_images' ).imageScale();
});
(function($){
$.fn.imageScale = function(){
thisCallback = $( this ); // for usage in inner other function
images = $( this ).find( 'img' ); // images
imagesHolder = $( this ).find( '.item' ); // image holder
frameSize = 34; // frame size
sizingCof = 1.5; // image size cofficient to scale, 1.5 = 150% normal state
speed = 600; // speed in ms
$.fn.imageScale.resizeContainer();
$.fn.imageScale.resize();
OldContainerW = imagesHolder.width();
OldOffsetL = offsetL;
$( window ).bind( 'resize', function(){
$.fn.imageScale.resizeContainer();
$.fn.imageScale.resize();
OldContainerW = imagesHolder.width();
OldOffsetL = offsetL;
});
}
$.fn.imageScale.resizeContainer = function(){
var windowW = $( window ).width();
var windowH = $( window ).height();
var scaleImgH = windowH - frameSize * 2;
var scaleImgW = windowW - frameSize * 2;
$( this ).height( scaleImgH );
$( this ).width( scaleImgW );
}
})(jQuery);
答案 0 :(得分:4)
因为你将resizeContainer函数绑定到resize事件,并且在resizeContainer函数中调整容器大小,再次触发resize事件,再次执行resizeContainer,无限期
答案 1 :(得分:1)
如果您已经创建了一个触发resize事件的函数,那么为什么要在函数
中绑定它如果调用$('#cache_images')。imageScale();表示调整大小,然后用下面的代码替换下面的代码
$( window ).bind( 'resize', function(){
$.fn.imageScale.resizeContainer();
$.fn.imageScale.resize();
OldContainerW = imagesHolder.width();
OldOffsetL = offsetL;
});
并将其替换为
$.fn.imageScale.resizeContainer();
OldContainerW = imagesHolder.width();
OldOffsetL = offsetL;