문제

여기에 제시된 코드를 사용하려고 할 때 링크 텍스트 나는 몇 가지 문제를 해결했으며,이 문제에 대한 새로운 질문을 열어주는 것이 제안되었습니다. 여기에 해당 코드를 사용합니다 링크 텍스트 회의를 위해 백 채널을 만들려고 시도합니다 (트위터 검색 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);
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top