我想将元素的样式设置为使用CSS定义的值。我不想设置默认值的动画,因此animate({'width':'auto'})
无法正常工作。
例如:
<style>
#element{width:100px;}
</style>
<div id=element></div>
<script>
$('#element').width(200);
$('#element').animate({width:'auto'});
</script>
有没有办法在不使用Javascript变量的情况下将元素设置回原始宽度?
答案 0 :(得分:0)
您可以尝试以下方法之一:
如果width
和animate
在同一范围内,您可以执行以下操作(在本地var中设置新的宽度之前存储初始宽度并在{{1}中使用它}):
animate
如果您稍后致电var initialWidth = $('#element').width(); // or $('#element').css('width')
$('#element').width(200);
$('#element').animate({width:initialWidth});
并且无法使用本地var,因为它超出了范围,您可以将初始宽度存储在animate
属性
data
然后在您致电var initialWidth = $('#element').width(); // or $('#element').css('width')
$('#element').data('initial-width', initialWidth);
$('#element').width(200);
时检索它:
animate
使用无JS变量
,查看方法#2的工作FIDDLE答案 1 :(得分:0)
您可以使用辅助html标记解决“no js variable”要求。
<style>
$aux_element {width:100px; display: none;}
#element, width:100px;}
</style>
<div id='aux_element'></div>
<div id='element'></div>
<script>
$('#element').width(200);
$('#element').animate({width: $('#aux_element').css('width');});
</script>