2012-10-01 2 views
5

왼쪽 탐색 바를 숨기고 싶은 페이지에서 작업하고 있습니다. Safari에서만 문제가 발생합니다. Chrome, FF, Opera, IE7 +에는 문제가 없습니다.JQuery는 사파리에서만 점프를 애니메이트합니다

Safari에서 슬라이딩 애니메이션이 완료 되려고하면 잠시 원래 위치로 점프 한 다음 사라지는 내용을 보게됩니다. 나는 많은 행운이없이 잠시 동안 연구 해왔다. 패딩이나 마진이 대부분 인 것처럼 보이지만, 0으로 설정되어 있고 두 번의 CSS 리셋을 시도했습니다. 그것은 나에게 마치 플로트와 관련이있는 것처럼 보입니다. 나는 명확한 그러나 운 없음으로 노는 시도했다.

Here is a demo

그리고 관련 애니메이션 :

$('#btnHide').click(function() { 
    $("#divNavContent").animate({ 
     width: 'toggle' 
    }, 1000, function() { 
     $("#divNavHidden").animate({ 
      width: 'toggle' 
     }, 500); 
    }); 

}); 

$('#btnShowMenu').click(function() { 
    $("#divNavHidden").animate({ 
     width: 'toggle' 
    }, 500, function() { 
     $("#divNavContent").animate({ 
      width: 'toggle' 
     }, 1000); 
    }); 
}); 
+0

애니메이션의 여유 속성을 'linear'로 변경해보십시오. – ahren

+0

너비가 애니메이션 중에 만 설정된 것처럼 보이고 표시가 none으로 설정되고 width 속성이 제거되어 원본 CSS가 인계받습니다. 어쩌면 "토글 (toggle)"이 더 효과적일까요? – Trey

답변

1

문제 때문에 #divLeftfloat: left; 발생하지만 #divLeft에서 플로트를 제거하고 동일한 구조를 유지 관리 할 수 ​​있습니다.

또한 margin-left: 4px; ~ #content을 추가하십시오. 왜냐하면 두 개의 div가 부동 소수점을 제거 할 때 조금 부숴지기 때문입니다.

사파리에 버그가 많고 잘못이없는 것 같습니다.

+0

대단히 감사합니다! 그게 효과가 있었어. – user1712697

관련 문제