$(this).animate({ 顶部: 200 }, 500); TOP 是一个变量?

发布于 2024-10-05 17:37:02 字数 271 浏览 2 评论 0原文

我很难解释,所以我只会演示我正在尝试做的事情:

这工作正常:

$(this).animate({ top: 200 }, 500);

变量替换“顶部”值

我试图用这样的

var x = 'top';    
if (condition) { x = 'left'; }    
$(this).animate({ x: 200 }, 500);

:但这失败了。

It is hard for me to explain so I will just demonstrate what I am trying to do:

This work fine:

$(this).animate({ top: 200 }, 500);

I'm trying to replace the 'top' value by a variable

like this:

var x = 'top';    
if (condition) { x = 'left'; }    
$(this).animate({ x: 200 }, 500);

But this fail.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

梦在夏天 2024-10-12 17:37:20

我来晚了一点,但是如果您使用 ES6,您可以使用它来计算对象键:

x = 'top';    
if (condition) { x = 'left'; }    
$(this).animate({ [x]: 200 }, 500);

参考:MDN

I'm a bit late to the party, but you could use this to compute object keys if you use ES6:

x = 'top';    
if (condition) { x = 'left'; }    
$(this).animate({ [x]: 200 }, 500);

Reference: MDN

情绪 2024-10-12 17:37:16

顶部是一个参数。您可以传递任何 CSS 属性。

动画将移向的 CSS 属性图。

Top is a parameter. You can pass any CSS properties.

A map of CSS properties that the animation will move toward.

还如梦归 2024-10-12 17:37:14

你可以试试这个。

var pos = {'top':200};    
if (condition) { pos = {'left':200}; }    
$(this).animate(pos, 500);

You can try this.

var pos = {'top':200};    
if (condition) { pos = {'left':200}; }    
$(this).animate(pos, 500);
雅心素梦 2024-10-12 17:37:10

您正在传递一个对象 - 像这样预先定义它。其中 x 可以是任何内容,即“顶部”、“左侧”等。

obj[x] = 200;

$(this).animate(obj, 500);

You are passing an object - define it beforehand like this. Where x can be anything, i.e. 'top', 'left', etc.

obj[x] = 200;

$(this).animate(obj, 500);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文