2014-10-07 4 views
0

크롬에서는 작동하지만 IE에는 구문이 없어도 작동하는 애니메이션이 있습니다. 버튼을 클릭하면 숨겨진 div가 표시되고 (표시 : 차단) 화면에서 벗어난 상태로 슬라이드됩니다.IE11에서 CSS 애니메이션이 작동하지 않습니다.

편집 : 아래 코드는 jsfiddle로 복사 할 때 작동하지만 내 사이트에서 작동하지 않습니다. http://www.fastfoodnutrition.org/test/

HTML

<ul id="menulist"> 
      <li> 
       <a title=" Restaurants" href="/restaurants.php">Restaurants</a> 
      </li> 
      <li> 
       <a title=" Calculator" href="/calculator.php">Nutrition Calculator</a> 
      </li> 

    </ul> 

JS

$(document).ready(function(){ 
    $("#menubutton").click(function(event){ 
     $("#menulist").css("display","block"); 
     $("#menulist").addClass("slidein"); 

    }); 
}); 

CSS

#menulist{ 
    width: 100%; 
    position: absolute; 
    z-index: 10; 
    top: 50px; 
    right: -160%; 
    float:none; 
    display:none; 
} 

.slidein{ 
    -webkit-animation: slidein .5s ease-in-out .2s 1 normal;  
    -webkit-animation-fill-mode: forwards; 

    animation: slidein 1s; 
    animation-fill-mode: forwards; 
} 
@-webkit-keyframes slidein { 
    0% {right: -160%;} 
    100% {right: 0;} 

} 
@keyframes slidein { 
    0% {right: -160%;} 
    100% {right: 0;} 

} 
+0

키 프레임을 스타일 시트의 맨 위로 이동해보십시오. – APAD1

+0

주사위를 던지면 주사위를 굴리지 않습니다. – user2874270

+0

나는 항상 유닛을 포함한다. 오른쪽에서 %를 벗어나면 확실하지 않다. – Bruford

답변

0

jQuery를의 버전에 따라 사용중인이 솔루션 작품 : 여기에 라이브 그것의 URL입니다 IE11에서는 괜찮습니다. 클래스의 ID를 대체했습니다.

http://jsfiddle.net/1tcnz4j7/15/

<ul class="menulist"> 
     <li> 
      <a title=" Restaurants" href="/restaurants.php">Restaurants</a> 
     </li> 
     <li> 
      <a title=" Calculator" href="/calculator.php">Nutrition Calculator</a> 
     </li> 

</ul> 

<div class="menubutton">Button</div> 

$(document).on('click', '.menubutton', function(){ 
    var object = $('.menulist'); 
    var openData = 'slidein'; 
    $(object).css('display','block').addClass(openData); 
}); 

또한 변수로 DOM 요소를 넣어 것입니다. 그리고 이미 미끄러 졌는지 확인할 수도 있습니다.

+0

당신은 맞다 jsfiddle에서 작동한다. 사실 나는 전체 페이지의 코드를 복사했다 (위의 코드는 코드 조각 일 뿐이다). jquery의 동일한 버전을 사용했는지 확인 했으므로 문제가 무엇인지 알지 못합니다. 코드가 작동하는 링크가 있습니다 : http://www.fastfoodnutrition.org/test/ – user2874270

+0

링크 IE7-9에서는 애니메이션이 작동하지 않으므로 에 http://modernizr.com/ 어딘가를 포함시켜야합니다. – Ryan

+0

브라우저 창의 너비를 모바일 크기로 줄이면, 상단의 헤더에 "햄버거"메뉴 아이콘이 나타납니다.이 메뉴를 클릭하면 기본 탐색 메뉴 (레스토랑, 영양 계산기 등)가 오른쪽에서부터 들어가야합니다. 이것은 모바일 전용이므로, IE7-9에 너무 관심이 없습니다. 도움을 주셔서 감사합니다. – user2874270

2

이 경우에 해당하는지는 잘 모르겠지만 미디어 쿼리 내부에 있습니다. IE는이를 무시한 것 같아 @에서 @를 싫어합니다.

+0

정교해야했는데, 내 솔루션은 업데이트 된 키 프레임을 이동하는 것이 었습니다. 미디어 쿼리 외부에서 미디어 쿼리 내부의 동일한 이름의 원래 키 프레임 애니메이션을 덮어 쓰지 않고 이름을 바꿉니다. 그런 다음 미디어 쿼리에서 이름을 바꾼 애니메이션을 호출하여 원본을 덮어 썼습니다. IE는 행복하게 보였습니다. –

관련 문제