Javascript jQuery动画:忽略css样式
当我使用jQuery制作动画时(如Javascript jQuery动画:忽略css样式,javascript,jquery,html,css,Javascript,Jquery,Html,Css,当我使用jQuery制作动画时(如$(“.myClass”).slideDown()),它会将一些样式内联添加到我的对象中: # Before: <div class='myItem'>...</div> # Animation: => $(".myItem").slideDown(); # After: <div class='myItem' style='display: block'> #之前: ... #动画: =>$(“.myItem”).s
$(“.myClass”).slideDown()
),它会将一些样式内联添加到我的对象中:
# Before:
<div class='myItem'>...</div>
# Animation:
=> $(".myItem").slideDown();
# After:
<div class='myItem' style='display: block'>
#之前:
...
#动画:
=>$(“.myItem”).slideDown();
#之后:
问题是如何在动画之后将对象恢复到原始状态。
我有两种方法:
- 我可以使用cool
函数来包装我的对象,设置它的动画,并将wrap()
作为动画的回调unwrap()
- 我可以保存我的原始状态
,并在动画完成后将其分配回html=$(“.myItem”).html()
为什么我需要它?事实上,我在一个网站上挖掘,那是使用古老的(但很酷)。我的目标是使用jQuery为下拉菜单(slideDown)添加动画。问题是,我的动画破坏了css样式,它停止工作。现在,我正在使用我的第一种方法来处理
wrap
,但它在IE中不起作用。动画完成后,即在回调中,是否可以删除style属性
$(".myItem").slideDown("slow", function() {
$(this).removeAttr("style");
});