Load random CSS on page refresh

I was wondering whats the best way to call a random css file on page refresh with Javascript?

Many thanks

10
задан Rob 29 August 2010 в 12:16
поделиться

4 ответа

Спасибо за ваш совет, не знал, что это возможно с помощью простой строки php, и на самом деле обнаружил, что этот метод довольно короткий и приятный

<link href="/styles/<?php echo mt_rand(1, 5); ?>.css" rel="stylesheet" type="text/css"/>

Нашел его здесь, http://forum.mamboserver. com/showthread.php?t=61029

Большое спасибо

пс. В A List Apart также есть довольно простой и гениальный способ переключения изображений, http://www.alistapart.com/articles/randomizer/

1
ответ дан 3 December 2019 в 22:34
поделиться
var link = [];
link[0] = "http://site.com/css/style1.css";
link[1] = "http://site.com/css/style2.css";
link[2] = "http://site.com/css/style3.css";


$(function() {
    var style = link[Math.floor(Math.random() * link.length )];
    $('<link />',{
        rel :'stylesheet',
        type:'text/css',
        href: style
    }).appendTo('head');
});

Редактировать : Спасибо Бэзил Сиддики!

var link = [];
link[0] = "http://site.com/css/style1.css";
link[1] = "http://site.com/css/style2.css";
link[2] = "http://site.com/css/style3.css";


$(function() {
    var style = link[Math.floor(Math.random() * link.length )];
    if (document.createStyleSheet){
        document.createStyleSheet(style);
    }else{
        $('<link />',{
            rel :'stylesheet',
            type:'text/css',
            href: style
        }).appendTo('head');
    }
});
8
ответ дан 3 December 2019 в 22:34
поделиться

Добавить элемент <ссылка> в document.ready.

var randomFileName=Math.random(); // or whatever

$(document).ready(function() {
    $('head').append('<link rel="stylesheet" type="text/css" href="' + randomFileName + '.css">');
});

Не проверено. Как упоминалось выше, это, вероятно, лучшая (читай: более совместимая) идея, чтобы скрипт на стороне сервера выдавал случайное имя файла непосредственно в HTML-коде страницы вместо использования обмана JS.

0
ответ дан 3 December 2019 в 22:34
поделиться

Если вы используете PHP, вы можете прочитать каталог CSS и выбрать случайный файл следующим образом:

<?php
$css_dir = '/css';
$files   = array();

foreach(glob($cssdir.'/*.css') as $file) 
{
    $array[] = $file;
}

echo '<link rel="stylesheet" type="text/css" href="' . array_rand($files, 1) . '">';
?>
5
ответ дан 3 December 2019 в 22:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: