2012-03-05 5 views
1

slideToggle() 및 요소를 사용할 때 Chrome에서 문제가 발생합니다.jQuery slideToggle() Chrome/Safari의 특별한 동작

편집 : 예 here, 링크 A를 몇 번 클릭하면 의미를 알 수 있습니다.

html로가의 라인을 따라입니다 : 모든 링크를 떠 아주 간단한 CSS와

<div> 
    <a>Link A</a> 
    <a id="myLink">Link B</a> 
</div> 

수평 왼쪽 :

자바 스크립트는 단순히 내 링크를 보여주고 그것을 숨기기를 전환
a{ 
    float: left; 
    margin-right: 20px; 
    height: 20px; 
    width: 20px; 
} 

#myLink{ 
    display: none; 
} 

어떤 사건.

$('#myLink').slideToggle(); 

slideToggle()을 처음 호출하면 모든 것이 잘 작동합니다. 링크가 다른 링크와 수평으로 정렬 된 것처럼 보입니다. 그러나 Chrome/Safari에 다시 표시 될 때 다시 숨기면 링크가 옆의 링크 대신에 나타납니다. 또한 Chrome에서 개발자 도구를 사용하여 요소를 클릭하면 자체적으로 수정되고 링크가 다른 링크와 수평으로 인라인되도록 이동하는 것으로 나타났습니다.

WebKit의 slideToggle() 문제는 누구나 알고 계십니까?

+1

설정 및 예 http://jsfiddle.net – Henesnarfel

+0

예를 들어 업데이트되었습니다. – Alex

+0

도 "링크 B"가 "링크 A"옆에있는 요소를 보았을 때 크롬에서 매우 재미있는 것입니다. – MCSI

답변

2

DIV을 뜨지 않거나 픽셀 단위로 너비를 지정할 수 있습니다.

+0

답장을 보내 주셔서 감사합니다. 폭이없는 부동 소수점이어야하므로 크기가 조정되지 않은 부동 소수점을 사용하지 않고 문제를 해결할 수 있습니다. – Alex

+0

플로트 대신 A- 태그 용 인라인 블록을 사용하지만 IE 6 또는 7에서는 작동하지 않습니다. –