我有以下代码,我循环遍历 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" ]()
关于javascript - JQuery - 在链中随机调用 slideUp 和 slideDown,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30943218/