Jquery 动画vs css-动画不起作用

Jquery 动画vs css-动画不起作用,jquery,css,animation,Jquery,Css,Animation,我想使用动画效果,但它不起作用 这是有效的 $("#add-widgets").click(function () { $("#list-widgets").css({display:"block"}); }); 但这不是: $("#add-widgets").click(function () { $("#list-widgets").animate({display:"block"},1000); }); 你能帮我吗? 谢谢您可以使用很多动画。这取决于你想要什么。例如,对

我想使用动画效果,但它不起作用

这是有效的

$("#add-widgets").click(function () {
    $("#list-widgets").css({display:"block"});
});
但这不是:

$("#add-widgets").click(function () {
    $("#list-widgets").animate({display:"block"},1000);
});
你能帮我吗?
谢谢

您可以使用很多动画。这取决于你想要什么。例如,对于
fadeIn
,您可以使用:

$("#list-widgets").fadeIn();
如果只是从“隐藏”到“块”制作“动画”:

$("#list-widgets").fadeIn();
否则,您应该进行黑客攻击:

  • 复制您的列表:

    var tmp=$(“#列出小部件”).clone()

  • 使用css为tmp提供新值:

    css({display:“block”})

  • 保存新的顶部和左侧位置:

    var newTop=tmp.position().top; var newLeft=tmp.position().left

  • 最后移动元素:

    $(“#列出小部件”).animate({
    “顶部”:新顶部,
    “左”:新左
    },1000);


无法设置显示属性的动画,因为这些属性之间没有中间值。例如,可以将元素设置为
display:none
或任何其他属性,例如
display:block
,但两者之间没有值。如果要将不透明度从
opacity:0
设置为
opacity:1
,则在
opacity:0.01
等值之间设置动画,直到
opacity:0.99

display:block
都是一个二进制函数。它可以打开也可以关闭。你不能给它设置动画。谢谢!我不记得那个函数了。完美地工作