안녕 얘들 아, 뭔가 내 스크립트에 잘못되었습니다. div #searchbox 및 div #searchboxtrigger가 있습니다.jquery : 버그가있는 쿠키? 항상 작동하지 않는가?
매우 단순함 : #searchbox가 display : none으로 숨겨져 있습니다. #searchboxtrigger가 클릭되면 나는 #searchbox를 slidingDown하고 있는데 나는 Cookie를 저장하고 있습니다. #searchbox 트리거를 다시 클릭하면 #searchbox가 다시 slidingup되고 쿠키가 null로 설정됩니다.
따라서 jquery 쿠키 플러그인을 사용하고 있습니다.
onload 쿠키가 설정되어 있는지 확인하려면 페이지가로드 될 때 #searchbox가 표시되어야합니다. #searchbox slidesUp을 다시 실행하고 쿠키가 null로 설정된 경우 쿠키가 표시되는 것을 원하지 않습니다.
온로드 :
는if($.cookie('search_visible') == 'true'){
$('#searchbox').show();
console.debug('is visible');
}else{
$('#searchbox').hide();
console.debug('is hidden');
}
는 온 클릭 :
$('#searchboxtrigger').click(function() {
if($.cookie('search_visible') == 'true') {
$('#searchbox').slideUp('fast');
$.cookie('search_visible', null);
console.debug('is hidden');
} else {
$('#searchbox').slideDown('fast');
$.cookie('search_visible', 'true');
console.debug('is visible');
}
});
너희들은 이상한 아무것도 볼 수 있습니까? 때로는 #searchbox 트리거가 응답하지 않고 콘솔이 "내가 다시로드 할 때까지 12 번 숨겨져 있습니다"라는 메시지가 나타납니다. 내가 생각하는 것을 잊어 버린 것이 있습니까?
나에게 좋아 보인다. 확실히 당신이 onload라고 할 때, 당신은 onload 이벤트 또는 jquery가 준비되었음을 의미합니까? – Andy
내 searchbox가 내 머리글에 있고 내 머리글이 페이지가로드 될 때 표시되지 않도록 설정되어 있으므로 머리글이 표시 될 때 위의 첫 번째 코드 섹션을 호출합니다. 때로는 쿠키가 작동하는 것처럼 보일 때가 있습니다. 때때로 그렇지 않습니다. 난 단지 그것이 안정적으로 작동 싶어요. 클릭하면 페이지가 다시로드되고 #searchbox는 항상 표시되어야하며, 그렇지 않으면 #searchbox가 다시로드 될 때 숨겨져 있어야합니다. 뭔가 잘못되었습니다. – matt