jQuery와 함께 자동 반동 DIV
-
21-08-2019 - |
문제
여기에 제시된 코드를 사용하려고 할 때 링크 텍스트 나는 몇 가지 문제를 해결했으며,이 문제에 대한 새로운 질문을 열어주는 것이 제안되었습니다. 여기에 해당 코드를 사용합니다 링크 텍스트 회의를 위해 백 채널을 만들려고 시도합니다 (트위터 검색 API를 사용하여 데이터를 표시하므로 데이터를 가져 오려면 해시키를 사용해보십시오). 그러나 문제는 콘텐츠가 얻을 때 마치 DIV가 숨겨져있는 것처럼 즉시 다시 사라집니다. 소스를 볼 때 나는 div의 내용을 볼 수 있지만 표시되지 않습니다. 시간 초과가 발생하고 시간 초과의 오류 메시지가 표시되지 않는 한 아래 DIV의 내용이 유지됩니다. 완전성을 위해 코드를 여기에 사용하겠습니다.
<script type="text/javascript">
function update() {
$("#notice_div").html('<img src="img/ajax-loading.gif" border="0"/>');
$.ajax({
type: 'GET',
url: 'inc/backchannel.php',
timeout: 2000,
success: function(data) {
$("#backchannelContent").html(data);
$("#notice_div").html('');
window.setTimeout(update, 2000);
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
$("#notice_div").html('Timeout contacting server..');
window.setTimeout(update, 60000);
}
})}$(document).ready(update);
</script>
도움을 주셔서 미리 감사드립니다. 저는 JavaScript 코더가 많지 않아서 벽돌 벽에 걸어 걷는 것처럼 느껴집니다 :-(
해결책
숨어 애니메이션이 완료되기 전에 DIV의 컨텐츠가로드되어 문제가 있습니다. 다음과 같은 다른 콜백을 사용하여 해결할 수 있습니다.
(이것은 Mark가 쓴 것과 매우 유사하지만 익명 기능이 있습니다)
$(document).ready(function(){
setInterval(function(){
$("#random:not(:animated)").hide("slow", function(){
$("#random").load("inc/backchannel.php").show("slow");
});//show callback
} ,10000);//set interval
});//doc.ready
다른 팁
이와 같은 것을 시도하십시오
function getRandom() {
$("#random").hide("slow");
$("#random").load("http://www.google.co.uk", '', callback);
}
function callback() {
$("#random").show("slow");
setTimeout("getRandom();", 10000);
}
$(document).ready(getRandom);
제휴하지 않습니다 StackOverflow