0

我正在尝试使用 JavaScript 从数组中生成随机结果。我的目标是,当用户单击按钮时,我想从名为“收藏夹”的数组中获取随机结果。它仅在页面刷新后才起作用,但是当您第二次单击它时,它会返回相同的结果。

$('#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 回答