2012-05-13 3 views
2

포럼 (vbulletin)에서 스포일러를 만들려고합니다 클릭하면 토글 div가 기본입니다. 그것은 모두 잘 작동, 하지만 다른 토글 div 안쪽에 토글 div 배치 할 때 애니메이션을 그냥 멈추지 않고 위아래로갑니다. (개폐)jQuery에서 토글이있는 버그

jsfiddle에서 테스트 할 때 이상한 점은 잘 작동하는 것입니다.

JQuery와 코드를 vBulletin에에

<div class="head"> 
    Click to show content 
</div> 
<div class="body" style="display:none;"> 
    Content 
    <div class="head"> 
     Click to show content 
    </div> 
    <div class="body" style="display:none;"> 
     Content 
    </div> 
</div> 

JQuery와

$(document).ready(function(){ 
    $('.head').click(function() { 
     $(this).siblings('.body:first').toggle('slow') 
    }); 
}); 

사람이에 대한 해결책을 생각할 수있는이

[spoiler] Text/Images [/spoiler] 

HTML과 같은 BBCode는 대체됩니다? 의

$("div[id^=post_message] > .head, .body > .head").on("click", function(){ 
    $(this).next().slideToggle("slow"); 
}); 

: 어떤 도움은 매우 당신이 더 복잡한 선택을해야 .body와 중첩 .head 년대와 다른 토글 DIV http://jsfiddle.net/9FP55/

답변

1

내 Heres는 토글 사업부와 jsfiddle을

을 감사합니다 물론 더 나은 해결책은이 모호성을 시작으로 만들지 않는 것입니다.

데모 : http://jsbin.com/olizux/4/edit

는 아마도 이것은 단지 오타이지만, 코드가 포함되지 않은 $ 필요한 :

(document).ready(function(){ 
    /* Code here */ 
}); 

$(document).ready(function(){ 
    /* Code Here */ 
}); 

또는 단순히

이어야한다
$(function(){ 
    /* Code Here */ 
}); 
+0

버그가 여전히 일어나고보십시오 :/ – Sev

+0

당신이 다음 상대하고 실제 HTML을 표시해야합니다. 게시 한 코드에 '스포일러'가 표시되지 않습니다. – Sampson

+0

좋아요. 메인 게시물을 편집했습니다. – Sev

0

$(document).ready(function(){ 
$('.head').click(function() { 
$(this).siblings('.body:first').stop(true,true).toggle('slow'); 
}); 
}); 
+0

여전히 동일한 버그 : (.stop을 사용하여 – Sev

+0

true, true) 애니메이션이 팝업되고 다시 닫힙니다. – Sev

+0

어떤 jquery 버전을 사용하고 있습니까 –