Гиперссылка на случайную HTML-страницу - PullRequest
0 голосов
/ 07 декабря 2011

У меня есть выбор страниц HTML (допустим, 30), и я хочу иметь кнопку случайного выбора, чтобы при нажатии этой кнопки она отображала одну из 30 страниц случайным образом.

Я нашел несколько сценариев в сети, которые, кажется, делают свое дело, однако они кажутся немного «хакерскими», и ему было интересно, каково это самое простое и чистое решение?

Заранее спасибо!

Ответы [ 2 ]

4 голосов
/ 07 декабря 2011

, если var arr был вашим массивом, вы можете получить случайное значение, используя это:

var value = arr[Math.floor(Math.random() * arr.length)];

Это генерирует случайное число между 0 и длиной вашего массива.

Youзатем можно перейти к этому URL ...

window.location = value;

Обновление

Простая демонстрация: http://jsfiddle.net/ESSAc/1/

Добавлен простой атрибут onclick для кнопки:

<input type="button" onclick="runme()" value="Click Me!" />

для выполнения этой функции:

function runme() {
    var arr = ["http://www.bbc.co.uk/", "http://www.yahoo.com/", "http://www.stackoverflow.com/"];
    var value = arr[Math.floor(Math.random() * arr.length)];
    alert("Would navigate to : " + value);
    // window.location = value;     // remove the comment at the beginning to actually navigate
}
0 голосов
/ 07 декабря 2011

Я не знаю, «хак» или нет, но я бы сделал это так:

jQuery('#sumfin').onclick( function() {
    jQuery.get(
        'someurlthatreturnsjsonwitharandomurl.php',
        {},
        function (data) {
            window.location = data.url;
        },
        'json'
    );
}

Тогда просто создайте массив страниц в серверном скрипте.

...