我想在一段时间内输出html()输出。我试过这个,但它不起作用。
if (data==1) {
$("#checked_answer"+ques_id).delay(800).html("Correct") ;
}
else {
$("#checked_answer"+ques_id).delay(600).html("Wrong") ;
}
答案 0 :(得分:2)
请使用超时,因为delay()
仅适用于FX队列:
var delay = data === 1 ? 800 : 600,
txt = data === 1 ? 'Correct' : 'Wrong';
setTimeout(function() {
$("#checked_answer"+ques_id).html(txt);
}, delay);
如果您只需使用delay()
,则必须将html()
内容添加到队列中:
$('#checked_answer').delay(800).queue(function() {
$(this).html('Correct').dequeue();
});
答案 1 :(得分:2)
您可以使用
var which = data == 1 ? 'Correct' : 'wrong',
timeVal = which == 1 ? 800 : 600;
setTimeout(function(){
$("#checked_answer"+ques_id).html(which) ;
}, timeVal);
答案 2 :(得分:1)
var val = 'correct';
var delay =800;
$setTimeout(function() {
$('#checkedAnswer').html(val); }, delay);
答案 3 :(得分:1)
如果您想使用动画队列执行此操作,那么您可以显式添加处理程序以在延迟之后更改文本,如下所示:
$("#checked-answer").delay(800).queue(function(next) {
$(this).html("Correct");
next();
});