1

我在 IE8 中遇到错误:Object doesn't support this property or method但在其他浏览器中一切正常,没问题。刷新 IE 后,错误消失,幻灯片正确显示。

这是代码。

$(window).load(function(){
  $('.flexslider').flexslider({
    animation: "slide",
    start: function(slider){
      $('body').removeClass('loading');
    }
  });
});

导致错误的行是$('.flexslider').flexslider({

我尝试了各种解决方案均无济于事。有什么建议么?

4

2 回答 2

1

找到了答案,它不在我发布的代码行中。我正在使用

<script defer src="scripts/jquery.flexslider.js"></script>

加载脚本,我将其更改为

<script src="scripts/jquery.flexslider.js"></script>

现在一切正常。

于 2012-12-26T13:56:08.710 回答
0
$(function() {
    $(window).load(function() {
        $('.flexslider').flexslider({
          animation: "slide",
          start: function(slider){
          $('body').removeClass('loading');
         }
    });
});

这利用了 jQuery.ready(),它比 $(window).load() 跨浏览器更可靠。

实际上,您可以完全替换 $(window).load() (如果您不需要等待图像等)。

$(function() {
    $('.flexslider').flexslider({
        animation: "slide",
        start: function(slider){
        $('body').removeClass('loading')
    }
});

此外,确保包含 flexslider 的脚本包含在页面的“head”部分中。如果你将它包含在 body 中或者通过创建一个 DOM 节点来加载它,那么 load 和 ready 都不会保证它已经被执行。

于 2012-12-20T23:45:58.253 回答