페이지를 성공적으로 다시 게시 한 후 페이지로드 이벤트에서 fancybox 내부에 메시지를 표시하려고합니다.jQuery document.ready 이상한 동작
Page.ClientScript.RegisterStartupScript(GetType(), "Script", "ShowPopup('popup');", true);
여기 javsacript 기능 ShowPopup입니다 :
function showPopup(p) {
ShowFancyBoxDiv("#divMessage", 50, 300);
}
는하지만 우리를 우리는 .cs 파일에 ASP.NET.Here의 코드 Page.RegisterClientScript 방법을 사용하여 페이지에 스크립트를 등록 이렇게하면 창보기의 첫 번째 페이지 만 회색으로 표시되고 아래로 스크롤하면 페이지의 나머지 부분은 여전히 활성 상태로 유지됩니다.
하지만 아래에 표시된 것처럼 타이머를 추가하면 모든 것이 잘 작동합니다.
$(document).ready(function() {
setTimeout(function() {
ShowFancyBoxDiv("#divMessage", 50, 300);
$("#fancybox-close").css("display", "none");
}, 1000);
});
아무도 여기에서 무슨 일이 일어나는지 설명 할 수 있습니까? document.ready는 자동으로 문서가 완전히로드되었는지 확인해야합니다. 그런 다음 왜 타이머 함수를 사용해야합니까? 감사.
DID NOT WORK. 당신은 다음과 같은 것을 의미했습니다 : $ (document) .load (function() {ShowFancyBoxDiv ("# divMessage", 50, 300);}); 하지만 이것을 사용하면 왜 그런지 모르지만 ShowFancyBoxDiv()는 해고되지 않습니다. ??? 게다가, 1 초의 타임 아웃을 사용하고 있어도 페이지의 다양한 요소들이로드되고 있지만 (firebug의 'net'탭을 통해 검사 할 때) fancybox가 올바르게 표시됩니다. 그래서 나는 그 문제가 다른 것이어야한다고 믿는다. – MrClan
@PratikChandra - 죄송합니다. 제 코드에 오류가 있습니다. 대신 $ (window) .load를 사용해보십시오. – mrtsherman
그 사람은 고마워. – MrClan