animate / any函数内的条件语句

时间:2013-01-13 09:07:31

标签: jquery if-statement jquery-animate

我想知道是否可以根据某些条件在jQuery的animate内设置属性。例如:

var condition = offL > ((wW / 2) - $this.width());
tooltip.css(function() {
  if (condition) {
    return '"right", "auto"';
  } else {
    return '"left", "auto"';
  }
}).animate({
  "top": $this.offset().top + (posT / 2) - (tooltip.height() / 2),
  if (condition) {
    return '"left":"offL - tooltip.width() - 30"';
  } else {
    return '"right", "offR - tooltip.width() - 30"';
  }
}, 300).fadeTo(200, 1);

tooltip和其他变量是先前定义的。)

这显然不起作用。但是,如果他们需要在函数内使用条件参数,那会怎样呢?

另一个问题是,我的条件用var是正确的吗?

1 个答案:

答案 0 :(得分:3)

在动画之前做出决定。 例如:

var properties = {}
if(condtion) {
  properties = {left: someThing};
else
  properties = {prop1: value1, prop2: value2};
$(obj).animate(properties,'fast');

是的,您对条件的使用是正确的。

var condition = offL > ((wW / 2) - $this.width());

将被评估为真或假,因为它是一个条件;)