【问题标题】:Math.random() should not repeat same number [duplicate]Math.random() 不应重复相同的数字[重复]
【发布时间】:2013-06-05 05:57:09
【问题描述】:

这是旋转字符串数组的简单 jquery

$.fn.loadText = function( textArray, interval ) {
    return this.each( function() {
        var obj = $(this);
        obj.fadeOut( 'slow', function() {
            obj.empty().html( random_array( textArray ) );
            obj.fadeIn( 'slow' );
        });
        timeOut = setTimeout( function(){ obj.loadText( textArray, interval )}, interval );
            if( !obj.is(':animated') ) { clearTimeout( timeOut ); obj.loadText( textArray, interval );} 
    });
}

function random_array( aArray ) {
    var rand = Math.floor( Math.random() * aArray.length + aArray.length );
    var randArray = aArray[ rand - aArray.length ];
    return randArray;
}

$(document).ready( function() {
    var textArray = ["murali","prashanth","nutal","candy"];
    $('#mydiv').loadText( textArray, 5000 );
});

这是问题所在,新生成的随机数不应该与之前生成的相同,它应该是新的数字,这样字符串数组就不会再次重复。假设如果murali再次生成murali不应该生成可能是其他字符串应该从数组中显示。请帮助

JSFIDDLE LINK HERE

【问题讨论】:

标签: jquery


【解决方案1】:
  • (步骤1)随机选择一个项目后删除一个数组项目
  • (第 2 步)重复 第 1 步,直到数组为空。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-07-29
    • 2018-07-03
    • 1970-01-01
    • 2014-05-07
    • 1970-01-01
    • 2015-01-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多