Jquery 将动画设置为css/类中的值
在没有变通办法的情况下,是否有可能做到这一点Jquery 将动画设置为css/类中的值,jquery,Jquery,在没有变通办法的情况下,是否有可能做到这一点 我的工作是清除inlinestyle,读取宽度,再次设置inlinestyle并设置动画。像这样: //startling class of object .c1 { width: 100px; } //object gets animated $(".c1").animate({width: 200},500); //I wanna animate the object back to the initial width //without
我的工作是清除inlinestyle,读取宽度,再次设置inlinestyle并设置动画。像这样:
//startling class of object
.c1 { width: 100px; }
//object gets animated
$(".c1").animate({width: 200},500);
//I wanna animate the object back to the initial width
//without animate I would do
$(".c1").css("width", "");
//to clear the inline style
设置onload动画,然后单击div以设置回动画
如果你不想点击事件,就用这个
$(document).ready(function(){
var realwidth = parseInt($('.c').width());
$('.c').animate({width: 200},1000);
$('.c').click(function(){
$(this).animate({width: realwidth},1000);
});
});
可以通过将初始css值存储到元素数据存储(使用jQuery方法)来完成。例如,稍后将当前值与初始值进行比较以切换元素
您在什么事件下运行此代码?您可以非常简单地使用CSS
transform
来实现这一点,具体取决于您想要的浏览器支持。@rorymcross这是一个很好的观点。使用css转换将很容易。但是重写所有代码并不容易,因为我使用了callback.done()和队列。因此,我必须自己编写一些逻辑来处理队列。最好有一个jQuery解决方案
$(document).ready(function(){
var realwidth = parseInt($('.c').width());
$('.c').animate({width: 200},1000);
$('.c').click(function(){
$(this).animate({width: realwidth},1000);
});
});
$(document).ready(function(){
var realwidth = parseInt($('.c').width());
$('.c').animate({width: 200},1000).animate({width: realwidth},1000);
});
// set the initial value
$( '.c1' ).each( function() {
$(this).data( 'width', $(this).width() );
});
// animate element
$(".c1").animate( { width: 200 }, 500 );
// animate element back to initial value
var width = $( ".c1" ).data( 'width' );
$( ".c1" ).animate( { width: width }, 500 );