2012-12-20 6 views
1

IE8에서 오류가 발생했습니다 : Object doesn't support this property or method 다른 브라우저에서는 모든 것이 작동하는데 문제가 없습니다. IE가 새로 고쳐지면 오류가 사라지고 슬라이드 쇼가 제대로 표시됩니다.개체가이 속성 또는 메서드를 지원하지 않습니다. IE8

다음은 코드입니다.

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

오류의 원인이 라인은 내가 아무 소용 다양한 솔루션을 시도했습니다 $('.flexslider').flexslider({

입니다. 어떤 제안?

+2

'$ (document) .ready()'를 사용해 보셨나요? – kapa

+2

'flexslider' 플러그인이 제대로로드되지 않는 것 같습니다. –

+0

flexslider js 전에 jQuery가로드되고 있습니까? 또한 귀하의 페이지에서 다른 JS 라이브러리를 실행하고 있습니까? 그렇다면 $ 연산자와 충돌이있을 수 있습니다. –

답변

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

이렇게하면 $ (window) .load() 크로스 브라우저보다 안정적인 jQuery.ready()를 사용합니다.

실제로 이미지를 기다릴 필요가없는 경우 $ (window) .load()를 대체 할 수 있습니다.

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

또한 flexslider가 포함 된 스크립트가 페이지의 "head"섹션에 포함되어 있는지 확인하십시오. 본문을 본문에 포함 시키거나 DOM 노드를 생성하여로드하는 경우로드 또는 준비 모두 실행되지 않았 음을 보장합니다.

+1

그런데 왜'$ (window) .load() '를 그곳에 두셨습니까? :) – kapa

+0

아마도 코드가 초기화되기 전에 모든 이미지가로드되는지 확인하기 위해'window.load'가 필요합니다. 어느 쪽이든, 거기에는 아무 것도 해치지 않습니다. – Sparky

+0

좋은 지적 ... 의견을 편집 할 때 귀하의 의견이 왔습니다. :) –

1

답을 찾았지만 내가 게시 한 코드 라인에 포함되지 않았습니다. 나는 스크립트를로드

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

을 사용하고 있었고, 난

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

모든 이제 잘 작동으로 변경되었습니다.

관련 문제