Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 设置超时,不以编程方式重置div元素颜色_Javascript_Jquery_Html_Css - Fatal编程技术网

Javascript 设置超时,不以编程方式重置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

在onclick事件之后,我试图将div元素重置为白色,但几乎没有成功。知道出了什么问题吗?它保持红色

$('.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);
});