Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 将动画设置为css/类中的值_Jquery - Fatal编程技术网

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 );