Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/421.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.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 jQuery-如何在给定延迟的情况下从元素中删除类?_Javascript_Jquery_Fadeout - Fatal编程技术网

Javascript jQuery-如何在给定延迟的情况下从元素中删除类?

Javascript jQuery-如何在给定延迟的情况下从元素中删除类?,javascript,jquery,fadeout,Javascript,Jquery,Fadeout,当用户更新数据库中的记录时,我将使用AJAX请求修改该记录。然后,我通过调用addClass方法向呈现的div添加一个类。I添加到div的类(我们称该类为colored)只包含背景色指令(用于突出显示当前修改的记录) 到目前为止还不错 现在,我想在1秒后,用一个fadeOut效果删除这个类 我尝试过这些方法,但在这两种情况下,它不仅删除了类,而且删除了整个div $("#id1").fadeOut(1000, function() { $(this).removeClass('color

当用户更新数据库中的记录时,我将使用AJAX请求修改该记录。然后,我通过调用
addClass
方法向呈现的
div
添加一个类。I添加到
div
的类(我们称该类为
colored
)只包含
背景色
指令(用于突出显示当前修改的记录)

到目前为止还不错

现在,我想在1秒后,用一个
fadeOut
效果删除这个类

我尝试过这些方法,但在这两种情况下,它不仅删除了类,而且删除了整个
div

$("#id1").fadeOut(1000, function() {
    $(this).removeClass('colored');
});


为什么删除了
div而不是
?实际上,
div
得到一个
显示:无样式-我在控制台中看到了这一点。

您可以使用如下设置超时功能:

setTimeout(
    function(){
        $("#id1").removeClass('updated_item');      
    }
    ,1000 //1 second
)
如果您想通过动画更改颜色,您可以在CSS中添加一个过渡样式,如下所示:

.myDiv{
    background:red;
    transition:background 1s;
    -webkit-transition:background 1s;
}
.colored
{
    background:blue;
}

您可以像这样使用setTimeout函数:

setTimeout(
    function(){
        $("#id1").removeClass('updated_item');      
    }
    ,1000 //1 second
)
如果您想通过动画更改颜色,您可以在CSS中添加一个过渡样式,如下所示:

.myDiv{
    background:red;
    transition:background 1s;
    -webkit-transition:background 1s;
}
.colored
{
    background:blue;
}

fadeOut
将淡出整个元素并将其隐藏在屏幕上。如果要淡出类的效果,可以使用(与常规jQuery不同,它接受持续时间和淡出效果)或。

fadeOut
将淡出整个元素并将其隐藏在屏幕上。如果要淡出类的效果,可以使用(与常规jQuery不同,它接受持续时间和淡出效果)或。

将淡出功能应用于
div
本身,而不是应用于类:

//the div, will fadeout after 1000 ms and get the class removed
$("#id1").delay(1000).fadeOut().removeClass('updated_item');
如果要删除带有褪色效果的
背景色
,则必须使用以下方法:

setTimeout(function() {
    $('#id1').removeClass('updated_item');
}, 1000)
在css端,使用
过渡
实现
淡出
效果:

#id1 {
    transition: background-color 0.5s ease;
}

.updated_item {
    background-color: yellow;
}

您将
淡出
功能应用于
div
本身,而不是类:

//the div, will fadeout after 1000 ms and get the class removed
$("#id1").delay(1000).fadeOut().removeClass('updated_item');
如果要删除带有褪色效果的
背景色
,则必须使用以下方法:

setTimeout(function() {
    $('#id1').removeClass('updated_item');
}, 1000)
在css端,使用
过渡
实现
淡出
效果:

#id1 {
    transition: background-color 0.5s ease;
}

.updated_item {
    background-color: yellow;
}

我不知道我是否得到了,这是你想要的吗?

jQuery('.action')。单击(函数(){
jQuery(this.parent().addClass('highlight');
如果(确认('你确定吗?')){
jQuery(this).parent().fadeOut(1000,function()){
jQuery(this).addClass('remove').removeClass('highlight');
});
}否则{
jQuery(this.parent().removeClass('highlight');
}
});
。突出显示{
背景色:红色;
}

#1 
#2 

我不知道我是否得到了它,这是你想要的吗?

jQuery('.action')。单击(函数(){
jQuery(this.parent().addClass('highlight');
如果(确认('你确定吗?')){
jQuery(this).parent().fadeOut(1000,function()){
jQuery(this).addClass('remove').removeClass('highlight');
});
}否则{
jQuery(this.parent().removeClass('highlight');
}
});
。突出显示{
背景色:红色;
}

#1 
#2 

删除了整个div?来自DOM?不应该这样。@JeremyHolovacs是的,确实如此。如果您试图保留元素但将其隐藏,则可以使用
fadeTo
。嗯,淡出隐藏元素。如果你只想改变背景颜色,那么你就想看看animate.css对于效果来说是很好的。不要在这么简单的任务中使用animate…那会删除整个div吗?来自DOM?不应该这样。@JeremyHolovacs是的,确实如此。如果您试图保留元素但将其隐藏,则可以使用
fadeTo
。嗯,淡出隐藏元素。如果你只想改变背景颜色,那么你可以看看animate.css对于效果来说很好,不要在这么简单的任务中使用animate…这正是我需要的!谢谢亚历克
fadeOut
不会对DOM隐藏元素,只是不会渲染它。要从DOM中删除它,您需要
.remove()
它。谢谢@JeremyHolovacs,这正是我的意思-从屏幕上隐藏它*很高兴它成功了。这正是我需要的!谢谢亚历克
fadeOut
不会对DOM隐藏元素,只是不会渲染它。要从DOM中删除它,您需要
.remove()
它。谢谢@JeremyHolovacs,这正是我的意思-从屏幕上隐藏它*很高兴它成功了。