이 질문에 대한 반복을 많이 보았지만 내 문제는 해결하지 못했습니다.jQuery slideDown() slideUp() 두 번의 클릭이 필요합니다.
아래 링크 목록에서 표시 여부를 전환하는 트리거 인 h3
을 클릭하면 문제가 발생합니다. 셀렉터와 비헤이비어는 잘 작동하여 숨겨진 항목을 표시하고 다른 항목을 제대로 숨 깁니다. 그러나 헤더를 한 번 클릭하면 토글을 수행하기 위해 두 번 클릭해야합니다. 그것은 작은 성가심이지만 솔루션을 원합니다.
하나의 헤더를 클릭하면 닫으면 위로, 열면 위로 이동하여 각각 .active
클래스를 추가하고 제거합니다. 모두 좋습니다.
다른 머리글을 클릭해도 열린 목록이 숨겨지고 클릭 된 헤더가 열립니다.
첫 번째 헤더에 이전에 열린으로 가면 이전에 열린 상태이지만 닫힌 상태로 한 번 클릭하면 토글이 시작되지 않습니다. 두 번 클릭해야합니다.
간단히 말해서 문제입니다. 페이지 코드에 대한 액세스가 제한되어 있으므로 트래킹 선택의 대부분은 이미 제자리에있는 태그를 사용하여 jQuery에서 수행되어야합니다.
여기에 해당 페이지의 : http://queensvw.com/documents/stackoverflow
가 여기에 jQuery의 :
$(document).ready(function() {
function hideAll() {
$('#minutes_highlights .date_heading').nextAll('.document_listing').slideUp();
}
hideAll();
$('#minutes_highlights .date_heading').click(function() {
if ($(this).hasClass('active')) {
$(this).removeClass('active');
$(this).nextUntil('hr').slideUp();
} else {
$(this).addClass('active');
hideAll();
$(this).nextUntil('hr').slideDown();
}
});
});
가 나는 preventDefault()
와 다른 스레드 기반으로 setTimeout()
를 추가했습니다. 솔직히 말해서 나는 a
에서 행동하지 않기 때문에 왜 그들이 중요 할 지 모르지만 어쨌든 클릭 문제를 해결하지는 못했습니다.
두 번째 클릭을 피하는 방법에 대한 아이디어가 있으십니까?
나는 분명히 놓칠 때 정말 ** 정말 ** 싫어. 자주 있습니다. 신선한 눈을 가져 주셔서 감사합니다; 나는 항상 올바른 방향으로 앞으로 나아갈 수 있습니다. 그랬어. 결정된. 감사! – dashard