2010-03-05 6 views
1

아이콘을 클릭하면 사용자 트위터 피드를 표시하거나 숨기려고합니다. 문제는 내 마크 업이 보이는 것입니다 :jquery show 비 블록 요소 문제를 숨기기

<a href="#"><img src='images/twitter.png' id='twitterImg' /></a> 
<span id='twitter_msg'><? include('PHP/twitterJSON.php'); ?></span> 

을 그리고 내 JQuery와는 slideToggle()

$('#twitterImg').click(function() { 
$('#twitter_msg').slideToggle('slow'); 
}); 
잘 작동

하지만 <img><span>이 인라인으로 표시되며 왼쪽 떴다을 사용합니다. img를 클릭하면 <span>이 토글되지만 블록 레벨 요소 나 그 밖의 요소로 바뀌어 다음 라인으로 떨어집니다.

내가 실제로 달성하고 싶은 것은 오른쪽으로 떠 다니는 것이고 <span>이 나타나면 <img>을 왼쪽으로 밀어 넣고 숨길 때 다시 접을 수 있습니다.

+0

이 경우에도 CSS가 필요합니다. 질문을 업데이트 할 수 있습니까? –

+0

실제로 CSS의 유일한 관련 부분은 위의 두 줄 (float : left;)에 대한 컨테이너 div에 적용됩니다 방금 ​​스팬에 float을 적용해야합니까? – kalpaitch

+0

솔직히이 경우에는 페이드를 사용하고, 문서를 다시 흐르게하는 것이 바람직하지 않은 경우는 거의 없습니다. 옵션일까요? –

답변

1

jquery가 효과를 적용하기 전에 블록 레벨 요소로 변경한다고 가정해야합니다. 누군가 다른 솔루션을 가지고 있는지 여부는 모르지만 img와 span을 따로 띄워서이 문제를 해결했습니다.

+2

당신이 생각해야 할 것이 아닙니다. 이것이 jQuery가 show (display : 블록) 및 hide (display : none) 및 모든 효과에 대해 수행하는 작업입니다. 표시/숨기기가 쉬워 지지만 애니메이션에 대해서는 잘 모릅니다. FF 일 경우 방화 광구를 설치하면 애니메이션/jQuery가 실시간으로 표시됩니다. –

관련 문제