javascript - 自动随机翻转

标签 javascript jquery random flip

我正在对某些框创建自动翻转效果(鼠标悬停时停止)。我有这个代码:

// Global flipping effect hooks
var flip_hook;
var delay;

// Flip and unflip panels
function startFlip() {
    $('div#front-page-mosaic .front-box.flip').find('div').stop().rotate3Di('flip', 500, {direction: 'clockwise', sideChange: mySideChange});
    delay = setTimeout( function() {
        $('div#front-page-mosaic .front-box.flip').find('div').stop().rotate3Di('unflip', 500, {sideChange: mySideChange});
    }, 8500);
}

// Autostart flipping effect
delay = setTimeout( function() {
    startFlip();
    flip_hook = setInterval(function(){ startFlip(); }, 17000);
}, 8000);

// Stop the flipping effect 
function stopFlip() {
    clearInterval(flip_hook);
    clearTimeout(delay);
}

// Stop flipping on mouse hover, restart on mouse leave
$('div#front-page-mosaic .front-box.flip').hover(
    function () {
        stopFlip();
    },
    function () {
        delay = setTimeout( function() {
            startFlip();
            flip_hook = setInterval(function(){ startFlip(); }, 17000);
        }, 8000);
    }
);

这很好用。但我希望所有盒子翻转开始翻转不同的时间,而不是同时翻转(尽管我希望翻转间隔保持相同)。我怎样才能做到这一点?我尝试使用暂停和间隔,但没有运气......有什么帮助吗?谢谢!

最佳答案

startFlip 中尝试类似的操作

var boxes= $('div#front-page-mosaic .front-box.flip').find('div');
    $.each(boxes, function(i, box){
         //(Math.random() * 10) + 1 will random a value between 1 - 10 then * 1000 to get the time in milliseconds
         var time = Math.floor((Math.random() * 10) + 1) * 1000;
         setTimeout(function(){
               $(box).stop().rotate3Di('flip', 500);
         }, time);
     });

JsFiddle 示例:http://jsfiddle.net/3gbksy2t/ 。 它不是 100%,但可以让您了解需要做什么。

关于javascript - 自动随机翻转,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31851897/

相关文章:

php - 如何单击表条目并在另一个 mongodb 集合(php/jquery)中搜索它

javascript - 如何在函数内部调用函数?

javascript - 在多个下拉列表中获取点击选项

javascript - 如果列名是数字,d3 读取 csv/tsv 文件?

python - 具有条件概率的随机选择

c - rand() 不遵循高斯分布和中心极限定理

c - 海量随机数的动态频率评估

javascript - jQuery:计算多个元素的子元素并计算

javascript - 在 Select2 搜索表单上设置多选值

javascript - 滑过菜单结合 Bootstrap