我想使用动画效果,但它不起作用
这是有效的
$("#add-widgets").click(function () {
$("#list-widgets").css({display:"block"});
});
但这不是:
$("#add-widgets").click(function () {
$("#list-widgets").animate({display:"block"},1000);
});
你能帮帮我吗?
感谢
答案 0 :(得分:2)
您可以使用很多动画。这取决于你想要什么。例如,对于fadeIn
,您可以使用:
$("#list-widgets").fadeIn();
答案 1 :(得分:1)
您无法为显示属性设置动画,因为这些属性之间没有值。例如,元素可以设置为display:none
或任何其他属性,例如display:block
,但两者之间没有任何值。如果您要将不透明度从opacity:0
设置为opacity:1
,那么您可以使用opacity:0.01
之间的值,一直到opacity:0.99
答案 2 :(得分:0)
如果你只是制作一个从隐藏到阻止的“动画”:
$("#list-widgets").fadeIn();
否则你应该做一个黑客:
复制您的列表:
var tmp = $(“#list-widgets”)。clone();
使用css:
赋予tmp新值tmp.css({显示: “块”});
保存新的左上角和左上角:
var newTop = tmp.position()。top; var newLeft = tmp.position()。left;
最后移动你的元素:
$( “#列表窗口小部件”)。动画({
'top':newTop,
'left':newLeft
},1000);