我从 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/