如何在用jQuery的remove移除样式时加入过渡时间,没有过渡直接删除感觉十分僵硬?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在用jQuery的remove移除样式时加入过渡时间,没有过渡直接删除感觉十分僵硬?相关的知识,希望对你有一定的参考价值。
如何在用jQuery的remove移除样式时加入过渡时间,没有过渡直接删除感觉十分僵硬,下面是我的代码: $("#wudi").click(function()
if($("#firstpane").hasClass("haha"))
$("#firstpane").removeClass("haha");
else
$("#firstpane").addClass("haha");
);
用css3加入tranform或者过渡时间的话都是add的时候过渡起作用,而删除的时候过渡就不起作用了,用jq先隐藏在删除样式会出现问题,它把整个元素都删除了或者隐藏了,先淡出在移除也是一样,元素直接消失了
监听动画结束。看你是animation还是transition了。例如你定义了haha的动画,那么jquery来监听haha的动画结束
transition
transitionend 事件会在 CSS transition 结束后触发. 当transition完成前移除transition时,比如移除css的transition-property 属性,事件将不会被触发.如在transition完成前设置 display 为"none",事件同样不会被触发。
animation
本回答被提问者和网友采纳animationend 事件会在一个 CSS 动画完成时触发(不包括完成前就已终止的情况,例如元素变得不可见或者动画从元素中移除)。
[ jquery 文档处理 empty() remove([expr]) detach([expr]) ] 此方法用于把所有匹配的元素移除
此方法用于把所有匹配的元素移除:
remove([expr])
概述
从DOM中删除所有匹配的元素
这个方法不会把匹配的元素从jQuery对象中删除,因而可以在将来再使用这些匹配的元素。但除了这个元素本身得以保留之外,其他的比如绑定的事件,附加的数据等都会被移除
empty()
概述
删除匹配的元素集合中所有的子节点
detach([expr])
概述
从DOM中删除所有匹配的元素。
这个方法不会把匹配的元素从jQuery对象中删除,因而可以在将来再使用这些匹配的元素。与remove()不同的是,所有绑定的事件、附加的数据等都会保留下来
实例:
<html lang=‘zh-cn‘>
<head>
<title>Insert you title</title>
<meta http-equiv=‘description‘ content=‘this is my page‘>
<meta http-equiv=‘keywords‘ content=‘keyword1,keyword2,keyword3‘>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type=‘text/javascript‘ src=‘./js/jquery-1.12.1.min.js‘></script>
<style type="text/css">
*{margin:0;padding:0;}
html{font:400 15px/1.2em ‘Courier New‘;color:#666;width:750px;margin:25px auto;}
ul{list-style:none;}
.hover{color:#FF96EC;}
.wrapAll{color:#FF96EC;}
</style>
<script type=‘text/javascript‘>
$(function(){
$(‘.wrap‘).empty(); //删除子节点(包含文本节点),但是保留元素节点本身
$(‘li‘).remove(‘.active‘); // 从DOM中删除节点,但是不会从jquery对象中将节点删除,但是节点本身的绑定事件,附加的数据呀都会被删除,也就是说只是保留了节点本身
$(‘li‘).detach(‘.detach‘); // 从DOM中删除所有匹配的元素,这个方法不会把匹配的元素从jQuery对象中删除,因而可以在将来再使用这些匹配的元素,与remove()不同的是,所有绑定的事件、附加的数据等都会保留下来
});
</script>
</head>
<body>
<div id=‘demo‘>
<div class=‘noClassDemo‘>
<ul class=‘list‘>
<li>Index value :</li>
<li>Index value :</li>
<li>Index value :</li>
<li>Index value :</li>
<li>Index value :</li>
<li class=‘detach‘>Index value :</li>
<li class=‘active‘>Index</li>
<li class=‘wrap‘>Index value :</li>
<li>Index value :</li>
</ul>
<div>
<p class=‘list‘>this is unwrap test</p>
</div>
</div>
<p class=‘list‘>this is unwrap test</p>
</div>
</body>
</html>
以上是关于如何在用jQuery的remove移除样式时加入过渡时间,没有过渡直接删除感觉十分僵硬?的主要内容,如果未能解决你的问题,请参考以下文章