对于高度不确定,想要使用transition使高度有过渡效果,解决方法如下

╰+攻爆jí腚メ 2023-07-10 15:42 5阅读 0赞

先看效果图:

20200303160945923.gif

从效果图上可以看出,该折叠层包含两层;所有分类可以折叠,里面的分类分级,渠道品牌,品牌,产业还可以折叠;

只有外层有高度过渡效果,内层没有;两层折叠的时候 ,其实我并没有完美解决好内层的过渡效果;

初始状态是外层是展开的,内层是折叠的;内层终止高度不确定,才会出现内层没有过渡效果;如果内层也是展开的,则可以完美解决;先以外层有过渡,内层无过渡的情况来说明思路:

初始时,外层设置一个高度H1,内层每一个都等高就ok,也设置一个高度h1,外层是展开的,内层是关闭的,点击外层的收起筛选按钮,外层高度由 H1 变为 0;这个可以使用 transition 来过渡,点击内层的展开的时候,先设置外层的高度为auto,内层展开后,会把外层自动撑高,同时使用 document.getElementById(‘allCategory’).offsetHeight 记录一下外层的高度 H2,当点击外层的拉起筛选按钮的时候,外层的高度就可以从 H2过渡到0了,再点击展开筛选的时候,高度再0变成 H2 ;

  1. this.category = document.getElementById('allCategory').offsetHeight
  2. document.getElementById('allCategory').style.transitionProperty = 'height'
  3. document.getElementById('allCategory').style.transitionDuration = '1s'
  4. document.getElementById('allCategory').style.height = '0px'

发表评论

表情:
评论列表 (有 0 条评论,5人围观)

还没有评论,来说两句吧...

相关阅读

    相关 高度塌陷问题解决方法

    文档流中,父元素默认被子元素撑开。但当子元素设置为浮动(float)后,子元素会完全脱离文档流,会导致子元素无法撑起父元素高度。父元素高度塌陷,解决办法如下: (1)直接写