繁体   English   中英

如何恢复 jQuery 中的 css 属性

[英]How to revert css properties in jQuery

在我的 jQuery function 中,我正在为 div 元素设置动画,因此它向右移动 200px,接收到已移动的 class 和一些不透明度:

if (!$(".block2").hasClass("Moved2")) {
    $(".block2").animate({
        "left": "+220px"
    }, "slow", function() {
        $.ajax
        ({url: 'play.php',
            data: {"var1": val},
            type: 'get',
            success: function(json) {
                if(!json.error) {$(".block2").removeClass("Moved2").css({left:"0",opacity:"1"});}
        }});
    } ).fadeTo("slow", 0.33).addClass("Moved2");
}

这工作正常,但完成后,我希望所有属性和 css 恢复到 animation 之前的状态。 但我不想重新加载页面。

如您所见,现在我这样做:

$(".block2").removeClass("Moved2").css({left:"0",opacity:"1"});

它可以满足我的要求,但是其他函数中可能会影响更多属性,我不想一个一个地更改每个元素。 对于 jQuery 序列所做的一切,是否有一种 UNDO?

您可以使用removeAttr() ,这样,它将删除所有添加到 class .block2

$(".block2").removeClass("Moved2").removeAttr("style")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM