javascript - 将参数传递给 animate jquery 函数

标签 javascript jquery function

我想在自定义函数中传递参数来为特定部分设置动画。完全不确定我缺少什么?

我创建了一个 JsFiddle

function animate($class,$method,$value,$duration,$delay) {
    var delay_time = 0;
    $($class).each(function() {
        $(this).delay(delay_time).animate({
            $method : $value
        }, {
            duration: $duration
        });
        delay_time += $delay;
    });
}

animate(".container","width", 100, 300, 250);

$method 是我试图传递的内容,但出于某种原因它不想工作?我错过了什么?

最佳答案

<强> Working Fiddle

您无法像在 {$method: $value} 中那样定义对象,但您可以在 animate 方法之外构造对象,然后只需传递它:

var my_object = {};
my_object[$method]=$value;

$(this).delay(delay_time).animate(my_object,{duration: $duration});

希望这有帮助。

<小时/>

function animate($class,$method,$value,$duration,$delay) {
  var delay_time = 0;
  $($class).each(function() {
    var my_object = {};
    my_object[$method]=$value;

    $(this).delay(delay_time).animate(my_object,{duration: $duration});
    delay_time += $delay;
  });
}


animate(".container","width", 100, 300, 250);
.container {
  opacity: 1;
  width: 0;
  background: #0f0;
  height: 100px;
}
p {
  margin: 0;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="container">
  <p>show me</p>
</div>

<div class="container">
  <p>show me</p>
</div>

关于javascript - 将参数传递给 animate jquery 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35658370/

相关文章:

jquery - Testcafe 得到 json 响应

java - java中的字符串格式化函数

javascript - 我看到了 Node 模式,但不明白为什么?

javascript - Scroll With != 没有省略号时的偏移宽度

jquery - z-index 不适用于谷歌浏览器中的 fancybox

c++ - 数组函数。希望能澄清一下

c - 在 C 函数中传递和更改数组内部

javascript - 如何使用 javascript 修改样式表规则以将后代选择器添加到每个规则的前面?

javascript - 延迟链崩溃浏览器

javascript - 使用不使用ajax的jquery从数据库中获取php数据