gpt4 book ai didi

javascript - 如何使用 jQuery 将元素动画化为其自然高度

转载 作者:可可西里 更新时间:2023-11-01 01:22:48 25 4
gpt4 key购买 nike

<分区>

我试图让一个元素根据其“自然”高度设置动画 - 即如果它具有 height: auto; 时的高度。

我想出了这个:

var currentHeight = $this.height();
$this.css('height', 'auto');
var height = $this.height();
$this.css('height', currentHeight + 'px');

$this.animate({'height': height});

有更好的方法吗?感觉有点像 hack。

编辑:这是一个完整的脚本,供任何想要测试的人使用。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html lang="en">
<head>
<title>jQuery</title>
<style type="text/css">
p { overflow: hidden; background-color: red; border: 1px solid black; }
.closed { height: 1px; }
</style>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.js"></script>
<script type="text/javascript">
$().ready(function()
{
$('div').click(function()
{
$('p').each(function()
{
var $this = $(this);

if ($this.hasClass('closed'))
{
var currentHeight = $this.height();
$this.css('height', 'auto');
var height = $this.height();
$this.css('height', currentHeight + 'px');

$this.animate({'height': height});
}
else
{
$this.animate({'height': 1});
}

$this.toggleClass('closed');
});
});
});
</script>
</head>

<body>

<div>Click Me</div>
<p>Hello - I started open</p>
<p class="closed">Hello - I started closed</p>

</body>
</html>

25 4 0
文章推荐: javascript - 设置 document.domain 是否适用于所有(大多数)浏览器?
文章推荐: java - 不一致的 keyPressed 事件 : sometimes fires, 有时不会,重新启动程序而不更改任何内容,它可能或现在可以工作
文章推荐: java - 如何在 JUnit 中使用 assertEquals 和 Epsilon 断言两个 double ?
文章推荐: Javascript 即时创建
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com