1

JQueryスクリプトに問題があります。Habboホテルのように自分のフィギュアを持っている2Dチャットをしていますが、フィギュアを動かすと思われるJQueryスクリプトにバグがあります。

問題を示す方が簡単だと思います。 問題を確認するには、ここをクリックしてください

次のスクリプトを使用して図を更新しています。

function UpdateRoom() {
    var data = 'roomId='+roomId;

    $.ajax({
        type: "GET",  
        url: "chatfunctions/updateroom.php",
        dataType: 'json',
        data: data,
        success: function(data){

            $.each(data, function(i, data) {
                var temp = parseInt(data.field);
                $('#f' + temp).append('<div class="user" id="'+charId+'" />');
            });
        }
    }); 
}

#f + tempは、図を配置するフィールドのIDです。charIdは、FigureのIDです。

そして、500ミリ秒ごとにスクリプトを呼び出しています。

window.setInterval(function() {
    UpdateRoom();
}, 500 );

これがあなたたちが私を助けるのに十分なコードと例であるかどうかはわかりません。そうでない場合は、私を助けるためにあなたにもっと提供する必要があるかどうか教えてください。私の推測では、それは.append()です。間違って使用されている関数ですが、私はJQueryの専門家ではありません。

4

1 に答える 1

2

追加を続けるだけで、何も置き換えません。

.html()または.empty()のいずれかを使用してみてください。

$.each(data, function(i, data) {
    var temp = parseInt(data.field);
    $('#f' + temp).html('<div class="user" id="'+charId+'" />');
});

また

$.each(data, function(i, data) {
    var temp = parseInt(data.field);
    $('#f' + temp).empty(); // clear out all content
    $('#f' + temp).append('<div class="user" id="'+charId+'" />');
});

コードがわからない場合は、呼び出しを各ループの外にある.empty()に移動する必要があります。

于 2012-11-30T22:59:30.427 に答える