我正在使用 ajax 制作一个小型投票应用程序。当您单击 +1 对项目进行投票时,将运行以下代码,将其投票计数加一,然后 php 按投票返回重新排序的项目列表。我想要的是投票赞成的项目变成绿色。更改颜色的代码必须在重新排序和检索项目后运行。
下面是代码块之一。中间的文字正在讨论该特定部分正在做什么。
$(function(){
$(".plus").live('click', function() {
var plus = $(this).data('plus');
var dataString = "plus="+plus;
下一行代码获取带有类的单击按钮的父元素,.heading
并将其背景颜色设置为绿色以显示它已被投票。这很好用,只是您只能看到一秒钟,因为在成功投票的项目上,它们会被检索并再次输出以通过投票重新排序它们。
$(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;
});
});
谢谢。