Javascript 设置超时,不以编程方式重置div元素颜色
在onclick事件之后,我试图将div元素重置为白色,但几乎没有成功。知道出了什么问题吗?它保持红色Javascript 设置超时,不以编程方式重置div元素颜色,javascript,jquery,html,css,Javascript,Jquery,Html,Css,在onclick事件之后,我试图将div元素重置为白色,但几乎没有成功。知道出了什么问题吗?它保持红色 $('.timeline-item').click(function() { $(this).css("background-color","red"); setTimeout(function() { $(this).css("background-color","#FFFFFF"); }, 250); }); 尝试此方法,保存对父范围var\u t
$('.timeline-item').click(function() {
$(this).css("background-color","red");
setTimeout(function() {
$(this).css("background-color","#FFFFFF");
}, 250);
});
尝试此方法,保存对父范围var\u this=this的引用,因为在您的示例中,这指的是窗口
尝试此方法,保存对父范围var\u this=this的引用,因为在您的示例中,这指的是窗口 超时内的这个不是指被单击的元素,而是指窗口对象 可以使用闭包变量保存对单击元素的引用,然后在超时处理程序中使用它
$('.timeline-item').click(function() {
var $this = $(this).css("background-color","red");
setTimeout(function() {
$this.css("background-color","#FFFFFF");
}, 250);
});
超时内的这个不是指被单击的元素,而是指窗口对象
可以使用闭包变量保存对单击元素的引用,然后在超时处理程序中使用它
$('.timeline-item').click(function() {
var $this = $(this).css("background-color","red");
setTimeout(function() {
$this.css("background-color","#FFFFFF");
}, 250);
});