私が経験していることを説明するのは難しいです。このコードは、div タグの値を検出します。値が 0 未満、0、またはゼロより大きい場合。別の色に変わります。ただし、それは遅れています(-1はまだ灰色、0は緑または赤のいずれかになりますが灰色ではありません、1は灰色になります)
function vote(vote_id, votetype) {
$.post('vote.php', {
id: vote_id,
type: votetype
},
function (output) {
$('#vote' + vote_id).html(output).show();
});
colorChange(vote_id);
}
function colorChange(vote_id) {
var voteTotal = $('#vote' + vote_id);
if (voteTotal.text() < 0) {
voteTotal.css('color', '#800000');
} else if (voteTotal.text() == 0) {
voteTotal.css('color', '#333333');
} else if (voteTotal.text() > 0) {
voteTotal.css('color', '#32cd32');
} else {
voteTotal.css('color', '#333333');
}
}
vote.php は、投票の種類に基づいてデータベースを更新し、データベース内の新しい値を関数に返します。
関数が完全に閉じられるまで、関数は完了せず、値を更新しないようです。使用している onClick で関数を分離しようとしましたonClick="vote(x,y);colorChange(id)"
が、成功しませんでした。
私はここで何を見落としていますか?私はそれが単純で、頭がおかしいだけだと感じています。