jquery 传递给 animate()

标签 jquery function jquery-animate direction

我从 div 单击和 a 获取方向,尝试将其传递到动画函数

var direction = $(this).attr('class').split(' ')[1];
var scrollAmount = 285;
$('#slider').animate({direction:'-=' + scrollAmount}, 'slow');

出了什么问题?

谢谢

最佳答案

animate 函数的第一个参数采用 CSS 属性,说明动画结束时的最终属性。你不能那样传递方向。听起来您要么想设置 left 或scrollLeft 量并更改方向,然后您应该查看方向的值,并根据您想要的方向使用 -= 或 += 。

var sign;

if (direction == 'left') sign = '-=';
else sign = '+=';

$('#slider').animate({left:sign + scrollAmount}, 'slow');

或者如果它是您要传递的属性

var prop = {};
prop[direction] = scrollAmount;
$('#slider').animate(prop, 'slow');

关于jquery 传递给 animate(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10312533/

相关文章:

javascript - 如何结合 IF 语句使用 Math.random 函数

调用 return 语句时,Javascript 不会退出 for 循环

c - 数组参数中的数组长度

javascript - 循环浏览一组带有动画的图像

jquery - Velocity JS 在 iPad 上挂起

Jquery动画跳动

jquery - 当应用程序中调用任何 ajax 函数时自动显示 ajax 加载器 gif 图像

javascript - Uncaught ReferenceError : addFriend is not defined

JavaScript 参数对象

javascript - jQuery animate 在所有浏览器中都非常不稳定 - 带有 jpg 的 div 同时向上移动和淡入