JQuery - 在链中随机调用slideUp和slideDown

时间:2015-06-19 16:44:31

标签: javascript jquery

我有以下代码,我循环遍历img元素,并希望随机应用slideUp()和slideDown()jquery效果:

$c.each(function(){
    $(this).find('img:gt(0)').hide();

    setInterval(function () {           
        $(this).find(':first-child')
         .[sometimes slideUp(), sometimes slideDown()] // <<<
         .next('img')
         .fadeIn()
         .end()
         .appendTo(this)
     }.bind(this), 3000 + Math.random()*4000); // 4 seconds
});

我不能将函数放在数组中,因为它们作为元素对象方法存在。我也试过扩展元素对象来添加我的属性,但它也没有很好用,也没有其他一些方法。

那么,关于如何依次或随机执行两个不同的回调的任何想法?

1 个答案:

答案 0 :(得分:7)

您可以使用数组语法引用属性。因此["slideUp"]()会调用.slideUp()

您还可以通过在内部放置一个更大的表达式来扩展它:

[ Math.random() > 0.5 ? "slideUp" : "slideDown" ]()