私は小さな投票アプリを作るためにajaxを使用しています。+1をクリックしてアイテムに投票すると、次のコードが実行され、投票数に1が追加され、phpは投票ごとに並べ替えられたアイテムのリストを返します。私が欲しいのは、投票されたアイテムが緑色に変わることです。色を変更するコードは、アイテムを並べ替えて取得した後に実行する必要があります。
以下は、コードのブロックの1つです。その間のテキストは、その特定の部分が何をしているのかを議論しています。
$(function(){
$(".plus").live('click', function() {
var plus = $(this).data('plus');
var dataString = "plus="+plus;
次のコード行は、クリックされたボタンの親要素をクラスで取得し、.heading
その背景色を緑色にアニメーション化して、投票されたことを示します。これは問題なく機能しますが、投票が成功するとアイテムが取得されて再度出力され、投票によって並べ替えられるため、1秒間しか表示されません。
$(this).parents(".itemheading").stop().animate({ backgroundColor: "#cdeb8b"}, 100);
$.ajax({
type: "POST",
url: "bin/processButtons.php",
data: dataString,
success: function() {
$.ajax({url: 'retrieve.php', dataType: 'json'}).done(function(data) {
var html = data['html'];
$('#content')
.html(data['html'])
私がやりたいのは、コードの行をここに移動して、アイテムが投票されて取得された後に色をアニメーション化することです。$(this)
クリックした直後にボタンで行う必要があるため、これは機能しなくなりました。
$(this).parents(".itemheading").stop().animate({ backgroundColor: "#cdeb8b"}, 100);
});
}
});
return false;
});
});
ありがとう。