2011-03-16 69 views
3

我写了一个函数,调整和定位固定位置的图像。我想在jQuery的窗口大小调整中重复“imgControl”功能。我确信有一些超级简单的方法可以做到这一点,但我的搜索迄今为止没有结果。我可能只是不知道使用正确的搜索条件。任何帮助将不胜感激!在jQuery的窗口大小重复功能

如果我只是简单地将函数复制到resize事件中,那么整个事情就完美了,但这看起来不够好看也不必要。似乎应该有一种方法可以再次调用函数。

这里是我的代码:

$(window).load(function imgControl() { 
    $('div.lb_img img').each(function() { 
     var lb_img_id = '#' + $(this).attr('id'); 
     /* image size */ 
     var max_height = $(window).height() - 50; 
     var max_width = $(window).width() - 50; 
     $(function() { $(lb_img_id).aeImageResize({width:max_width, height:max_height}); }); 
     /* image position */ 
     var img_y = ($(this).attr('height') + 14) * -0.5; 
     var img_x = ($(this).attr('width') + 14) * -0.5; 
     $(this).css('margin-top', img_y).css('margin-left', img_x); 
    }); 
}); 
$(window).resize(function() { 
    imgControl(); 
}); 
+0

可能重复(http://stackoverflow.com/questions/2597152/jquery-resize-function-doesnt-work-on-page -load) – davidcondrey 2015-06-09 09:02:39

回答

14

定义你的函数的方式,这是在任何地方你需要它调用。像这样:

var imgControl = function() { 
    $('div.lb_img img').each(function() { 
     ... // etc 
    }); 
}; 

$(document).ready(function() { 
    imgControl(); 
}); 

$(window).resize(function() { 
    imgControl(); 
}); 
的[jQuery的调整功能,在页面加载不起作用]
+0

哈哈打败了我! – CtrlDot 2011-03-16 04:44:02

+0

我知道,这有时像是一场比赛。 :) – 2011-03-16 04:45:04

+0

谢谢bigmattyh!另外,感谢CtrlDot为此付出的努力。这很完美,现在我知道了一些我应该已经知道的东西。 – Craig 2011-03-16 04:49:34