我想刷新備用圖片的背景圖片。如何在刷新時進行全屏幕背景更改?
我怎麼能做到這一點?
Offliberty這樣做。我查看了源代碼,但無法弄清楚。我發現它是通過服務器端腳本完成的,我的主機確實支持這一點,並且一個名爲sizzle的腳本正在爲Offliberty網站提供動力,但當我查看代碼時,我感到非常困惑。
我想刷新備用圖片的背景圖片。如何在刷新時進行全屏幕背景更改?
我怎麼能做到這一點?
Offliberty這樣做。我查看了源代碼,但無法弄清楚。我發現它是通過服務器端腳本完成的,我的主機確實支持這一點,並且一個名爲sizzle的腳本正在爲Offliberty網站提供動力,但當我查看代碼時,我感到非常困惑。
如果您願意,您也可以在客戶端輕鬆做到這一點。在您的jQuery的準備功能
backgr0 { background-image: url('images/somepic.jpg'); }
backgr1 { background-image: url('images/somepic.jpg'); }
backgr2 { background-image: url('images/somepic.jpg'); }
backgr3 { background-image: url('images/somepic.jpg'); }
backgr4 { background-image: url('images/somepic.jpg'); }
然後:在你的CSS創建多個班級
$(function(){
var backnum = Math.floor(Math.random()*5);
$('body').addClass("backgr" + backnum);
});
如果需要用一個div的#ID替換體。
<div id=wrapper class=wrapper4>
在CSS中有20個左右的背景選項。如果你不想使用php asp或severside代碼。當你試圖找出如果事情是用JavaScript或服務器端代碼做,你可以寫這個
document.write ('<div id=wrapper class=wrapper' + Math.floor(Math.random()*21) + '>');
一個javascript,你可以做的第一件事就是關閉JavaScript完全,重新加載頁面幾次,看看會發生什麼。
不幸的是,Offliberty默認情況下隱藏了一切,所以當沒有JS時它就像一個空白屏幕。然而,內容仍然那裏,所以它仍然會工作。
那些大背景圖像正在應用到#wrapper
股利,當我刷新 - 即使JS關閉 - 該背景圖像正在改變。
所以看起來他們使用服務器端的東西來做到這一點。
(另外,它的價值,Sizzle是一個JavaScript庫,使得選擇的元素變得更加容易。它並不對用戶改變任何東西,它只是使開發更簡單一點。)
這將是最好在服務器端做到這一點,在我看來你使用的是PHP,所以我給你一個使用該語言的例子。後臺圖像僅在重新加載時纔會更改,因此邏輯上應該在客戶端從服務器接收的HTML中進行區別。
您應該使用與@DarthJDG爲您提供的相同的CSS類。唯一的區別是您將在服務器上附加這些類,而不是在客戶端上。
$number_of_classes=7; //the number of background images you have
$which_one=rand(0, $number_of_classes-1); //let's choose a class
printf('<body class="backgr%s">', $which_one); //put this wherever you are printing body
這可以使用jQuery來完成,但使用服務器端腳本最容易。你可以在服務器端使用任何東西 - PHP,ASP.NET,Perl,Python ...? – 2011-04-21 17:46:42