原生javascript利用元素的height变化来实现元素的“消失”(即height变为0)和“出现”(即元素本身的height),但问题是元素的height一开始手动设置0,如何获取这时候元素本身的高度来实现元素的“出现”。
小伙看你根骨奇佳,潜力无限,来学PHP伐。
这个问题难道不可以用CSS实现么?直接用display:none;消失,display:block;出现。
display:none;
display:block;
在设置为0之前,先把高度保存起来
用jQuery
$element.css({ height: '' });
如果display:none不是你想要的,那试试 height:auto
好像之前有这么个做法,把你的元素用js取到,然后用js设置 visibility:hidden; position:absolute;,再使用scrollHeight来取到你的元素的真实高度,之后将这两个样式还原,再用js去控制高度什么的。
js
visibility:hidden; position:absolute;
scrollHeight
两个思路:
{ position: "absolute", visibility: "hidden", display:"block" }
这个问题难道不可以用CSS实现么?直接用
display:none;
消失,display:block;
出现。在设置为0之前,先把高度保存起来
用jQuery
如果display:none不是你想要的,那试试 height:auto
好像之前有这么个做法,把你的元素用
js
取到,然后用js
设置visibility:hidden; position:absolute;
,再使用scrollHeight
来取到你的元素的真实高度,之后将这两个样式还原,再用js
去控制高度什么的。两个思路:
{ position: "absolute", visibility: "hidden", display:"block" }
,获取高度后将属性还原。当然,处理的时候不只这么简单,可以参照一下jQuery的swap函数。