gpt4 book ai didi

jquery - 动画时取消设置 css 参数

转载 作者:行者123 更新时间:2023-12-03 22:50:47 25 4
gpt4 key购买 nike

我开始学习 jQuery。我编写了一段代码,它将通过调用存储在数组中的函数来循环给定元素的位置。这对于这段代码来说效果很好:

<script type="text/javascript">
$(document).ready(function(){
$('#right_column').css({zIndex:1000, position: 'absolute', right: 0, top:200 });
$('body').css({overflow:'hidden'});
var funcs = new Array(
function(o){
$(o).animate({right: 0, top:200}, 1000);
},
function(o){
$(o).animate({top: 0},1000);
},
function(o){
$(o).animate({right: 300},1000);
},
function(o){
$(o).animate({right: 300, top:200},1000);
}
);
var flip=0;
$('#right_column').click(function self(){
funcs[++flip % funcs.length]('#right_column');
});
});
</script>

但是如果我像这样更改职位参数

    var funcs = new Array(
function(o){
$(o).animate({right: 0, top:200}, 1000);
},
function(o){
$(o).animate({top: 0},1000);
},
function(o){
$(o).animate({left: 0},1000);
},
function(o){
$(o).animate({right: 300, bottom:0},1000);
}
);

它坏了。

我认为,互补参数(上<->下;左<->右)会产生干扰,就像它们在纯 CSS 中一样。

所以我的问题是:如何将 css 参数重置为未定义?

编辑

animate 似乎无法处理 auto 。它并没有改变行为。使用 css() 它可以工作。

    var funcs = new Array(
function(o){
$(o).css({right:0, bottom:0,left:'auto', top:'auto'})
console.log('funcs 0');
},
function(o){
$(o).css({top:0, right:0, left:'auto', bottom:'auto'})
console.log('funcs 1');
},
function(o){
$(o).css({left:0, top:0, right:'auto', bottom:'auto'})
console.log('funcs 2');
},
function(o){
$(o).css({right:'auto', top:'auto',left:0, bottom:0})
console.log('funcs 3');
}
);

animate() 破坏动画(当然)之前/之后运行 css({...:'auto'})

还有其他提示吗?

最佳答案

要重置这些值,请将它们更改为“自动”

top: auto;
left: auto;
right: 0px;
bottom: 0px;

编辑:

您可以添加“目标”。

 <div id="top" style="position:absolute;left:0;top:0"></div>
<div id="bottom" style="position:absolute;left:0;top:auto;bottom:0px"></div>

现在您可以将目标值用于动画:

$("#bottom").offset().top
$("#bottom").offset().left

动画:

 $(o).animate({ top : $("#bottom").offset().top, left : $("#bottom").offset().left });

关于jquery - 动画时取消设置 css 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1543707/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com