元素高度不固定动画

2 篇文章 0 订阅

可以使用jquery的slideDown slideUp slideToggle, 下面介绍使用css3的动画方法

参考链接

#wrapper {
    height: 0;
    overflow: hidden;
    background-color: #efefef;
}

 

function funTransitionHeight(fn, element, time) {
    if (typeof window.getComputedStyle == "undefined") return;

    var height = window.getComputedStyle(element).height;
    element.style.transition = "none"; // 本行2015-05-20新增,mac Safari下,貌似auto也会触发transition, 故要none下~

    element.style.height = "auto";
    var targetHeight = window.getComputedStyle(element).height;
    element.style.height = height;
    element.offsetWidth = element.offsetWidth;
    if (time) element.style.transition = "height "+ time +"ms";
    if (fn === 'slideDown') {
        element.style.height = targetHeight;
    } else if (fn === 'slideUp') {
        element.style.height = '0';
    }
}
调用的时候:
var wrapper = document.getElementById('wrapper')
funTransitionHeight('slideDown', wrapper, 400)

有个bug:高度自适应的元素初始化为隐藏状态,第一次点击的slideDown的时候没有动画,记录一下有时间再弄...

 

 

----------------------------------------------------------------------------------------------------------------------------------------------------------

以上为分割线

2018-07-19更新

vue 点击展开收起动画

参考链接:

  1. vuejs如何实现这样的展开收起动画? 
  2. vuejs实现点击展开收起动画

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值