javascript不能在IE8 / 9中运行,但在查看控制台时也是如此

时间:2013-09-12 01:44:18

标签: javascript jquery internet-explorer internet-explorer-8 internet-explorer-9

我有一个脚本,除了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();
     });


});

3 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

使用$(document).ready()代替$(window).load()

答案 2 :(得分:0)

  

您使用的是jQuery吗?你尝试使用window.onload吗?   看看IE是否适用它? - jasonslyvia 35分钟前

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