我在歌剧中遇到了一个很奇怪的错误。检查以下代码:

$(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时才会发生,并且在调整窗口大小时,代码会完美执行并按应显示的方式显示。

最佳答案

不知道是什么导致了此问题,但是将函数包装在window.load()中已解决了该问题。

07-28 07:36