动画高度:自动与较新的jQuery
Animate to height:auto with newer jQuery
我设置了一对<div>
元素,这样当一个<div>
被单击时,另一个动画到适合其内容的高度。
脚本通过临时将高度切换为auto,测量它,然后切换回样式表高度(为零)来实现这一点。
它工作得很好,但只有jQuery 1.4.4,这是相当旧的。每当我尝试添加一些需要更新版本的内容时,动画就会停止工作,要么根本不动画,要么两个元素都消失了。
我在下面创建了一个JSFiddle。这个版本的jQuery甚至没有在库中列出,所以我不得不从外部链接它(在左侧的外部资源下)。如果您删除它并将库设置为最低可用,您就会明白我的意思。
https://jsfiddle.net/27sr4kzv/1/代码如下:
<script type="text/javascript">//<![CDATA[
$(function(){
var el = $('#ev-donate-form'),
curHeight = el.height(),
autoHeight = el.css('height', 'auto').height();
el.height(curHeight);
$("#ev-sponsors").toggle(function(){
el.height(curHeight).animate({height: autoHeight}, 400);
},function(){
el.height(autoHeight).animate({height: curHeight}, 400);
});
});
//]]>
</script>
是否有一种方法可以让我更新它以避免冲突?
试试:https://jsfiddle.net/27sr4kzv/16/
$(function(){
var el = $('#omgivebeenclicked'),
curHeight = el.height(),
autoHeight = el.css('height', 'auto').height();
el.height(curHeight);
$( "#clickme" ).click(function() {
if(el.height() == 0)
el.height(curHeight).animate({height: autoHeight}, 400);
else
el.height(autoHeight).animate({height: curHeight}, 400);
});
});
toggle
函数用于显示/隐藏所选元素(s)从选择器,而你使用作为$("#clickme").toggle
,你只是简单地显示/隐藏#clickme
元素,阅读更多关于http://api.jquery.com/toggle/
,你可能想使用的是.on("click", function () { ...; });
为它(http://api.jquery.com/on/)
以下修改后的JS达到了这个效果:
$(function(){
var el = $('#omgivebeenclicked'),
IsShown = false,
curHeight = el.height(),
autoHeight = el.css('height', 'auto').height();
el.height(curHeight);
$("#clickme").on("click", function(){
el.height(IsShown ? autoHeight : curHeight).animate({
height: IsShown ? curHeight : autoHeight
}, 400);
IsShown = !IsShown;
});
});
演示:https://jsfiddle.net/27sr4kzv/13/
相关文章:
- 通过jquery设置最小高度
- JQuery.animate();不以固定高度工作
- 如何使用jQuery添加另一个对象的高度作为边距
- JQuery mCustomScrollbar动态高度
- jquery插件或javascript方法自动调整文本输入(而非文本区域)(固定宽度)可变高度的大小
- 动态潜水高度jQuery.Load()不工作
- 使用jQuery可以根据窗口大小更改滑块的css高度
- 使用jquery调整文本区域的高度
- 如何设置'auto'JQuery动画中的高度
- jQuery查找最大元素的高度
- 使用Bootstrap3更改Scroll Jquery上导航栏的高度
- 获取下一个或上一个隐藏元素的高度,以设置父元素的高度.jquery.
- 制作jQuery高度百分比动画
- Jquery高度返回错误值
- 当内容显示在FireFox的iFrame中时,jQuery高度问题
- jquery 高度返回 0
- jQuery高度更改在Safari中不起作用
- jQuery高度高度计
- 加载图像缓慢,导致jQuery高度变量出现问题
- 从jquery高度中移除像素