0

JavaScript を使用して配列からランダムな結果を生成しようとしています。私の目標は、ユーザーがボタンをクリックしたときに、「お気に入り」という名前の配列からランダムな結果を取得することです。ページが更新されたときにのみ機能しますが、2 回目にクリックすると同じ結果が返されます。

$('#button').click(function(){
        var favorites = ["http://google.com", "http://yahoo.com", "http://msn.com", "http://apple.com"];
        var favorite = favorites[Math.floor(Math.random() * favorites.length)];
        var postmessage = "hi my favorite site is " + favorite;
        alert(postmessage);
    });
4

1 に答える 1

1

以下のコードを試してください。

$('#button').click(function(){
    var favorites = ["http://google.com", "http://yahoo.com", "http://msn.com", "http://apple.com"];
    var favorite = $.rand(favorites);;
    var postmessage = "hi my favorite site is " + favorite;
    alert(postmessage);
});


(function($) {
    $.rand = function(arg) {
        if ($.isArray(arg)) {
            return arg[$.rand(arg.length)];
        } else if (typeof arg === "number") {
            return Math.floor(Math.random() * arg);
        } else {
            return 4;  // chosen by fair dice roll
        }
    };
})(jQuery);

更新されたフィドル:

http://jsfiddle.net/Sj74K/2/

ありがとう、

シヴァ

于 2013-05-22T04:26:45.543 に答える