如何解决根据css属性设置效果持续时间
|$(\'.container\').animate({ \'height\': el.height() },{ duration: 300});
因此,ѭ1的高度可以小于或大于ѭ2的高度。
当当前高度与我要设置动画的高度之间的差异较大时,如何使效果持续时间更长?
解决方法
var newHeight = el.height(),oldHeight = $(\'.container\').height();
$(\'.container\').animate({height: newHeight},Math.abs(newHeight-oldHeight)*5);
将魔术常数5
更改为看似合理的值。您没有提供计算持续时间的标准;您可以将其与ѭ5绑定,或者它不应该是线性的,而是对数的。您可以很容易地自定义它。尽管这是一个不错的起点。
, if ($(.container).height() - $(el).height() > 0)
{
// Whatever you want to do if the container is higher than el
}
else
{
// Other case
}
不知道它是否正确的JS语法,但它应该可以工作。
http://api.jquery.com/height/
编辑:没关系,看一下达文的答案。
, $(\'.container\').animate({height:el.height()},($(this).height()-el.height()>el.height())?3000:100);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。