脚本不适用于document.ready(可在Safari和Chrome浏览器中使用(FF可以),但适用于document.resize)

| 我有以下jquery脚本来调整图像的大小,并为其留有一个水平空白。该脚本在FF中可以完美运行,但是在Safari和Chrome中我遇到了问题。 Safari和Chrome探针:图片大小可以调整,但是leftMargin似乎是在图片调整大小之前设置的,导致图片向左推得太远了。仅在document.ready上会出现此问题。调整浏览器大小时,脚本可以正常工作。
function imageresize() {
    var h = $(window).height(),
        w = $(window).width(),
        newHeight = h * 0.5,
        newTopMargin = newHeight * 0.12;

        $(\'img.resize\').css({\'height\' : newHeight + \'px\', \'margin-top\' : \'-\' + newTopMargin + \'px\'});
    var leftMargin = (w - ($(\'img.resize\').width()))/2;
        $(\'img.resize\').css(\'margin-left\', leftMargin + \'px\');

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

$(window).resize(function() {
  imageresize();
});
脚本位于
</body>
之前。 任何帮助将不胜感激!     
已邀请:
可以在图像加载完成之前触发文档就绪事件。尝试绑定到窗口或图像的加载事件。
$(window).load(function() {
  imageresize();
});

// or

$(\'img\').load(function() {
  imageresize();
});
    
如果仅一张图像,则还可以绑定到图像加载事件。
$(img).load(function() {
  imageresize();
});
    

要回复问题请先登录注册