2013-11-27 4 views
2

나는 매 x 초마다 한 이미지를 다른 이미지와 간단하게 바꿔주는 다음 코드를 개발했다. 모두 잘 작동하며 Chrome에서 오류를 반환하지 않습니다. 그러나 IE (IE8의 최신 백엔드)에서는 아무것도하지 않고 오류를 반환하지 않고 첫 번째 이미지에만 머물러 있습니다.IE, .data에서 JavaScript가 작동하지 않습니까? setInterval?

어떤 조언이 필요합니까? IE에서 setInterval이 문제를 일으킬 수있는 어딘가에서 읽은 것을 기억합니다.

고려 :

$(function() { 
    var fElement = $('.fadein'); 
    fElement.find('img:gt(0)').hide(); 
    setInterval(function() { 
     if (!fElement.data('paused')) { 
      fElement.find(':first-child') 
       .stop(true, true) // fixes le tabbed/hidden animation queue 
       .fadeOut() 
       .next('img') 
       .fadeIn() 
       .end() 
       .appendTo('.fadein'); 
     } else { 
      console.log('waiting...'); 
     } 
    }, 2000); 
    $('map').hover(
     function() { 
      console.log('pausing'); 
      fElement.data('paused', 1); 
     }, 
     function() { 
      console.log('unpausing'); 
      fElement.data('paused', 0); 
     } 
    ); 
}); 
if (!console && !console.log) { 
    console = {}; 
    console.log = function() {}; 
} 

와 CSS :

.fadein { 
display: block; 
height: 49px; 
width: 287px; 
float: left; 
} 
.fadein img { 
position:absolute; 
} 
.stripContainer { 
display:block; 
height: 49px; 
} 

과 HTML :

<div class="fadein"> 
    <img src="img1.jpg" border="0" width="287" height="49" alt="" style="" id="level2Menu"/> 
    <img src="img2.jpg" border="0" width="287" height="49" alt="" style="" id="level2Menu"/> 
</div> 
<div class="stripContainer"> 
    <img src="img3.jpg" usemap="#secondM" border="0" width="385" height="49" alt="" style="float:left;" id="level2Menu"/> 
    <img src="img4.jpg" usemap="#secondM" border="0" width="288" height="49" alt="" style="float:right;" id="level2Menu"/> 
</div> 

편집 :이 바이올린은이 작업을 보여줍니다 IT가 크롬에서 정상적으로 : http://jsfiddle.net/8f5uU/

+5

질문의 실제 제목을 생각하면 도움이 더 필요할 수 있습니다. –

+2

jQuery 2.X 버전은 IE <9를 지원하지 않습니다. – Teemu

+0

@CoreyOgburn 무엇이 질문을 호출할지 모르겠다, 나는 console.log'ing 시도하고 문제가 무엇인지 찾을 수 없습니다. 그것은 문자 그대로 IE/JS 문제입니다. – Myles

답변

0

글쎄, setInterval IE의 이전 버전에서 어떤 문제가 발생해서는 안됩니다. 그러나, jQuery 수도 있습니다. jQuery Doc:

가장자리에 지정된대로 : (전류 - 1) 현재

파이어 폭스 : (전류 - 1) 현재

Internet Explorer를 9+

그리고 계속 말하기 :

인터넷 익스플로러와 같은 구형 브라우저를 지원해야하는 경우 er 6-8, Opera 12.1x 또는 Safari 5.1+는 jQuery 1.12을 사용하십시오.

이전 버전의 jQuery를 사용하여 시도해보십시오.

+1

쏴, 나는이 질문이 2 살이라는 것을 몰랐다 ... –

관련 문제