【发布时间】:2013-02-17 02:51:54
【问题描述】:
我在歌剧中遇到了一个非常奇怪的错误。检查以下代码:
$(document).ready(function(){
var $imgHeight = $('.collection-item-image').width() / 3 * 4;
$('.collection-item-holder').css('padding-top',$imgHeight + 'px');
$(window).resize(function(){
var $imgHeight = $('.collection-item-image').width() / 3 * 4;
$('.collection-item-holder').css('padding-top',$imgHeight + 'px');
});
});
有时,Opera 会忽略在文档就绪时运行的代码。每个其他浏览器都可以正常运行。我以为它可能完全忽略了准备好的文档,但是我用警报功能对其进行了测试,发现它每次都有效。似乎虽然它有时会在正常的文档就绪条件下忽略它,但如果我在函数运行之前添加一个警报,在警报框中按“确定”后,代码每次都运行良好。出于某种原因,有时用户必须与页面交互才能运行。
有谁知道为什么或更好的方法来解决或解决此问题?请记住,只有在以这种方式设置 CSS 时才会发生这种情况,并且在调整窗口大小时,代码会完美执行并按应有的方式显示。
【问题讨论】:
-
其他所有浏览器都可以正常运行。 我正在尝试理解您的问题。预期的结果是什么?
$imgHeight在 Opera 中的计算是否错误? -
要么忽略高度,要么尝试运行函数太快,要么计算错误高度。无论哪一个,$imgHeight 要么不正确,要么由于某种原因没有正确设置。