3

私はdiv「コンテンツ」を持っています。このdivにはいくつかのdiv「コメント」があります。5秒ごとにdiv「コンテンツ」をリロードしています。新しいコメントごとにフェードインしたいと思います。このため、すべてのコメントには整数のIDがあるため、基本的には次のようになります。最後のコメントのIDを変数「lastComment」に保存し、div「content」をリロードするとき、if($( "。comment")。attr(id)> lastComment){alert('ok')}を使用しています

しかし、それは機能しません。最初にdivをリロードし、「ok」と言う代わりに、さらに5秒待つ必要があります。ここに私のコードがあります。

var lastComment = $('.comment:last').attr('id');
setInterval(function()
{
    $('#content').load('fullscreen.php?image='+$('.imageBig').attr('id')+' #content');
    if($('.comment').attr('id') > lastComment){
        alert('ok');
    }
}, 5000);

何かアイデアをお願いしますか?

4

1 に答える 1

1

問題があると思いますjQuery selector。if条件では、これが機能した後にステートメントが最後の要素を1回割り当て、新しい最後のdivコメントが変更されるため、アラートが機能しないため、div.commentlastを指定する必要があります。var lastComment = $('.comment:last').attr('id');setInterval

var lastComment = $('.comment:last').attr('id');
setInterval(function()
{
    $('#content').load('fullscreen.php?image='+$('.imageBig').attr('id'),function(){
        if($('.comment:last').attr('id') > lastComment){
            alert('ok');
        }
    });

}, 5000);
于 2013-02-07T09:40:46.067 に答える