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

JQuery - randomly call slideUp and slideDown in chain

本文关键字:slideUp slideDown 随机 调用 JQuery      更新时间:2023-09-26

我有以下代码,我在其中循环浏览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
});

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

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

可以使用数组语法引用属性。所以["slideUp"]()会打电话给.slideUp().

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

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