回答
謝謝你的建議,並沒有意識到這是可能的PHP的簡單的線條,實際上發現,這種方法是相當短暫的甜蜜
<link href="/styles/<?php echo mt_rand(1, 5); ?>.css" rel="stylesheet" type="text/css"/>
在這裏找到,http://forum.mamboserver.com/showthread.php?t=61029
非常感謝
ps。列表除了也有一個非常簡單而輝煌的方式來切換圖像,http://www.alistapart.com/articles/randomizer/
上document.ready
附加一個<link>
元素。
var randomFileName=Math.random(); // or whatever
$(document).ready(function() {
$('head').append('<link rel="stylesheet" type="text/css" href="' + randomFileName + '.css">');
});
未經檢驗。如上所述,對於服務器端腳本來說,它可能是一個更好的(讀取:更加兼容)的想法,可以直接在頁面的HTML中隨機輸出文件名,而不是使用JS欺騙。
如果你使用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) . '">';
?>
剛剛嘗試過這種技術,但沒有得到迴應,因此沒有CSS文件得到加載 – egr103 2013-04-14 12:29:04
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');
}
});
我試過這個,但它得到應用後頁面已加載,所以造型沒有得到應用 – bsiddiqui 2013-04-19 15:23:18
@BasilSiddiqui感謝您注意..請參閱這[教程](http://www.vidalquevedo.com/how-to-load-css-stylesheets-dynamically-with-jquery)以獲得進一步的指導!美好的一天! :) – 2013-04-20 02:27:30
,你可以只用JavaScript的
<p id="demo"></p>
<script>
var r=Math.random();
var x=document.getElementById("demo")
if (r>0.5)
{
x.innerHTML="<a href='http://w3schools.com'>Visit W3Schools</a>";
}
else
{
x.innerHTML="<a href='http://wwf.org'>Visit WWF</a>";
}
</script>
如果你想使用JavaScript的最好方法是加載生成隨機鏈接做到這一點以正常方式在單個文件中的所有隨機樣式。
然後在前面加上所有的隨機CSS與一個數字,如:
.random-1 h1 {
color: blue;
}
.random-2 h1 {
color: red;
}
/* ... etc... */
然後只需一個隨機類添加到身上帶的JavaScript。
document.getElementsByTagName('body')[0].className+=' random-' + Math.floor((Math.random() * 10) + 1);
這應該限制加載和渲染問題,而且您不必擔心何時調用JavaScript。 (再加上你可以選擇更改爲另一種隨機樣式,更多的JavaScript)
(渲染問題將取決於您正在做什麼樣的更改 - 雖然這與您看到的DOM對象的隱藏和顯示沒有區別許多網站)。
這也將使您的服務器腳本更簡單。只需在創建頁面時將一個類添加到正文中。 – 2014-05-10 10:04:11
- 1. 當頁面刷新時,CSS不加載
- 2. A幀隨機頁面重新加載/刷新
- 3. 頁面刷新時隨機循環CSS漸變?
- 4. 在頁面重新加載頁眉時隨機出現中斷
- 5. 頁面在每次加載時刷新
- 6. 頁面刷新,CSS的隨機頁眉圖像jquery javascript?
- 7. 刷新Node.js頁面時不加載
- 8. HATEOAS - 刷新頁面時加載資源
- 9. 頁面加載在IE8刷新
- 10. Facebook應用程序:隨機報價不刷新每頁加載
- 11. Javascript或jQuery頁面刷新時顯示隨機元素
- 12. 每次刷新頁面時如何獲取3個隨機行?
- 13. 頁面刷新時隨機化一個元素
- 14. Jquery手機:如何重新加載/刷新內部頁面
- 15. 頁面加載的隨機div
- 16. javascript - 頁面加載的隨機div?
- 17. 刷新頁面時CSS樣式出錯
- 18. 頁面刷新預加載頁面頁面位置問題
- 19. rails在頁面加載時生成隨機數
- 20. 嘗試在頁面加載時顯示隨機視頻
- 21. Javascript:如何在頁面加載時隨機化圖像
- 22. 刷新頁面加載一次
- 23. 加載後刷新jquery移動頁面
- 24. 頁面加載後如何刷新javascript
- 25. 頁面加載後刷新標籤
- 26. 在Codeigniter/Bootstrap中無頁面刷新加載頁面內容
- 27. 頁面刷新時不重載數據
- 28. Jquery/Ajax刷新無需重新加載或加載頁面?
- 29. 頁面沒有加載時,從瀏覽器刷新在角JS
- 30. 頁面加載在每次刷新時都會有所不同
它必須是Javascript嗎?在服務器端它會容易得多,而且不那麼笨拙。 – 2010-08-28 16:24:09
我同意Pekka。 – 2010-08-28 16:25:17
這樣做的問題是,當您的Javascript運行時,您的DOM需要完成,因此瀏覽器可能已經開始渲染頁面。在這一點上改變CSS會打破這個流程,並且可能會減慢頁面渲染速度,並且當瀏覽器改變樣式時用戶會看到'閃爍'。 – 2010-08-28 16:28:21