javascript - 如何使用jquery随机删除同一类的元素

标签 javascript jquery html css dom

我有大约 72 个 class="box"的分区

这些是覆盖我整个页面的一些黑色框,我想在我的一个函数完成后随机地一个一个地删除这些部分。

这是我随机删除这些盒子的方法,

function removeBoxes(){

    var erase;
            //var to store the length of array of divisions
    var total = $(".box").length;
    while(total > 0)
    {
              //generating a random number
        erase = Math.floor(Math.random() * total);
        $(".box").eq(erase).fadeOut(10000, function(){
            $(this).remove();
        });
        total = $(".box").length;
    }
}

稍后我还会在两次移除之间添加一些时间延迟,但现在我只想知道如何一个一个地移除这些框。

最佳答案

一个小插件怎么样:

(function($) {
    $.fn.random = function() {
        var n = this.length;
        var r = Math.floor(n * Math.random());
        return n ? $(this[r]) : $();
    };
})(jQuery);

用法:

(function iterate() {
    $('.box').random().fadeOut(1000, function() {
        $(this).remove();
        iterate();
    });
})();

元素将一次消失一个,当没有更多的 .box 元素时,循环将自动终止。

参见 http://jsfiddle.net/alnitak/cddhL/用于演示。

关于javascript - 如何使用jquery随机删除同一类的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15309125/

相关文章:

php - 来自文件类型、文件大小和文件时间的警告

php - 使用超链接而不是提交按钮提交 AJAX 表单时出现问题

javascript - 如何修复 Node 终端中的 'variable is not defined' 以及为什么会发生这种情况?

javascript - AngularJs:$watch未触发

javascript - 将鼠标悬停在子元素上时如何显示内容并保持其可见性?

javascript - 使用 Jquery 将 'download' 属性动态添加到 <a>

jquery - Google AdSense 和 AdBlock

html - 如何使用CSS使div背景图像中的div元素响应

javascript - 从 1 开始计算新事件

javascript - 在 couchDB 映射函数中将毫秒格式化为日期