gpt4 book ai didi

javascript - 是否可以将元素恢复到其先前的位置而不将位置作为参数传递?

转载 作者:行者123 更新时间:2023-11-27 23:05:30 26 4
gpt4 key购买 nike

以下函数采用 options 参数,并根据 startValue 将元素动画到特定的数量像素:

options: {
property: 'right',
startValue: '-250px',
amount: '250px'
},

function (options) {
const $el = $(this.el)
$el.click(() => {
const startValue = $el.parent().css(slide.property)
const calcValue = parseInt(startValue, 10) + parseInt(slide.amount, 10)
if (startValue === slide.startValue) {
$el.parent().animate({ [slide.property]: calcValue }, 200)
} else {
$el.parent().animate({ [slide.property]: slide.startValue }, 200)
}
})
}

但我想知道,是否可以在不必向函数提供 startValue 的情况下完成相同的任务? (例如,如果 right 的初始值为 0,则在您第二次单击该元素时将其恢复为 0。)

最佳答案

您可以利用 .animate() 在调用时添加内联样式属性这一事实。因此,如果您想将元素恢复为 CSS 中指定的 right 值,可以调用 .removeAttr("style")。要获得动画效果,您必须在 CSS 中包含一个过渡属性。

例如,查看这个工作 fiddle :https://jsfiddle.net/hr0cxax2/1/

$("#slideButton").on("click", function() {
$("div").animate({right:"-=50px"}, 200);
});

$("#restoreButton").on("click", function() {
$("div").removeAttr("style");
});
<小时/>
div {
height: 50px;
width: 50px;
top: 20px;
right: 300px;
background-color: red;
position: fixed;
-webkit-transition: right 0.2s;
-moz-transition: right 0.2s;
transition: right 0.2s;
}

否则,据我所知,您需要在调用 .animate() 之前获取并保存原始 right 值。

关于javascript - 是否可以将元素恢复到其先前的位置而不将位置作为参数传递?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36637652/

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