나는 텍스트 상자에서 그 사람의 이름을 읽고 그 이름의 모든 문자에 대해 서명/제스처를 보여주는 코드를 작성하고있다. 이름의 모든 글자는 FOR 루프에서 읽혀지며,이 글은 읽음 문자에 따라 제스처/기호를 변경합니다. 루프가 작동을 멈춘 후 페이지가 새로 고쳐 져야하지만 알 수없는 이유로 페이지가 루프가 끝나기 전에 새로 고침됩니다.루프 내에서 dom 변경 전에 코드 after 루프가 실행되는 이유는 무엇입니까?
아래의 간단한 코드로이 상황을 모방하기로 결정했습니다. 코드를 실행하면 루프의 코드가 실행되기 전에 경고가 표시됩니다. 편의를 위해 JSFiddle도 만들었습니다. HERE.
function show_name(name) {
for (var i = 0, len = name.length; i < len; i++) {
if (name[i] == "H") {
var text = document.getElementById("text_tag");
text.innerHTML = "Hillary Clinton was a hot baby in the past :D";
}
}
alert("But Bill preferred Monica :(");
}
<input type="text" id="name" size="18" style=" font-size:17px; margin-left:4px; " onchange="show_name(this.value)" />
<p id="text_tag"></p>
내가 코드를 볼 수 없습니다해야 이해하기 위해 최선을 노력 현재 스 니펫의 페이지를 새로 고칠 수 있습니다. 전체 코드를 보여줄 수 있습니까? – ifvictr
'alert '은 나를위한 for 루프 뒤에옵니다. for 루프 다음에'window.location.reload()'를 넣으면, 너무 빠르게 진행되어서 아무 일도 일어나지 않을 수도 있습니다. – putvande
'setTimeOut (function() {/ * 페이지를 다시로드하는 코드 * /},/* 재로드까지의 시간 * /)' – Lucas