2

我有一个脚本可以在除 IE8/9 之外的所有内容中正常工作。奇怪的是,当我在 IE 中打开开发人员工具和控制台到 deb,然后按照它所说的刷新页面时,脚本运行正常。我错过了什么?知道 IE 不喜欢这个脚本的什么地方吗?

另一个注意事项-脚本在加载窗口之前不会加载,因为我需要测量图像的高度,所以这可能是问题的一部分吗?

谢谢你的帮助

$(window).load(function(){


     function offsetElement(element, container){
            if ( $(window).width() > 767 ) {

                $(element).each(function(index,value){

                    var snapImage = $(this),
                        snapImageHeight = snapImage.height(),
                        containerHeight = snapImage.closest(container).outerHeight(),
                        topOffset = (containerHeight - snapImageHeight) / 2;

                    $(this).css({ 'top' : topOffset });

                 });
            }

     }


        offsetElement('.snapshot', '.event');
        offsetElement('.dot', '.event'); 

    function activeSnap(){ return offsetElement('.snapshot', '.event'); }
    function activeDot(){ return offsetElement('.dot', '.event'); }


     $(window).resize(function(){
        activeSnap();
        activeDot();
     });


});
4

3 回答 3

1

$(window).load()应该使用内置onload函数,所以这不应该是问题。可能是您的 jQuery 版本,jQuery 2.X 不支持 Internet Explorer 6、7 或 8。确保您使用的是 jQuery 1.X 以实现兼容性

于 2013-09-12T02:20:37.220 回答
0

使用$(document).ready()而不是$(window).load().

于 2013-09-12T01:51:54.263 回答
0

您使用的是哪一个 jQuery?您是否尝试使用 window.onload 看看 IE 是否可以使用它?– jasonslyvia 35 分钟前

感谢@jasonslyvia,我所做的只是将 $(window).load 替换为 window.onload ,现在它工作正常。

于 2013-09-12T13:15:59.510 回答