javascript - jQuery:随机淡入淡出div(无论项目数量如何)

标签 javascript jquery html slider fadein

我有这个片段,它使我的 div 每 3 秒“滑动”一次:

$(function(){
    $('.fadein p:gt(0)').hide();
    setInterval(function(){$('.fadein > :first-child').fadeOut().next('p').fadeIn().end().appendTo('.fadein');}, 3000);
});

<div class="fadein">
    <p><img src="">image1</p>
    <p><img src="">image2</p>
    <p><img src="">image3</p>
</div>

我想随机显示 div 的顺序..问题是 div 的数量不会每次都相同..所以我不能使用

setInterval(function() {
  var number = 1 + Math.floor(Math.random() * 3);
  ...

因为它并不总是 3.. 而且我不能每次都更改脚本。你能帮我吗?

这是一个 fiddle :http://jsfiddle.net/S4SmM/4/

最佳答案

使用jQuery Length属性(property)。它将获取您拥有的 div 数量,并且您可以像您想要的那样使用 Math.random 函数。

编辑

我已经编辑了您的fiddle让它做我认为你想做的事。有时会连续几次显示同一张图片,但我会让你决定如何处理它,这会出现一个小问题。

这也是代码

$(function () {
$('.fadein p:gt(0)').hide();
setInterval(function () {
    var randomize = 1 + Math.floor(Math.random() * $('.fadein > p').length);
    $('.fadein > p').fadeOut();
    $('.fadein > :nth-child(' + randomize + ')').fadeIn();
}, 3000);
});

关于javascript - jQuery:随机淡入淡出div(无论项目数量如何),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24869419/

相关文章:

javascript - 保存到 Ajax 服务器

javascript - HTML-CSS div 比子元素高 3px

javascript - 检查 html 元素是否用 Protractor 显示

javascript - 将事件添加到动态生成的元素

javascript - 将事件监听器添加到数百个谷歌地图标记

javascript - 当它可见时如何启动此动画?

javascript - 放入输入文件时填写文件详细信息

javascript - 为 Hubot 添加 Post 支持

javascript - 根据主页中的选择值隐藏表单选择字段?

javascript - 点击事件不工作 jQuery