利用Math.random做背景圖像隨機切換【前端開發技能必備系列】


你應該見過(尤其是在一個網站的登錄頁面,比如:人人小站)這樣的效果:每次登錄的頁面背景都是不同的。這說明該頁面很有可能啟用了背景隨機切換的效果。最初見到這種效果的呈現時,覺得比較炫,后來仔細想想,這個用javascript實現起來應該很簡單。

先看一下我做的演示吧:http://www.threesnow.com/code/093/

1. 首先要准備一些圖像,圖像的大小(無論是尺寸大小還是數據大小)要控制好,如果太大,會使用戶等不及查看全圖就跳出了,如果太小,又會影響頁面質量。

2. 在script中將這些圖像編為一個數組,便於調用。數組的長度當然就是圖像的數量。

var bodyBgs = [];    //創建一個數組變量來存儲背景圖片的路徑
bodyBgs[0] = "images/01.jpg";
bodyBgs[1] = "images/02.jpg";
bodyBgs[2] = "images/03.jpg";
bodyBgs[3] = "images/04.jpg";
bodyBgs[4] = "images/05.jpg";

3. 因為上面用到了5個圖像,所以在這里需要產生一個0到4的隨機數。如果數組長度不一樣,修改下面代碼中的乘數就可以。

var randomBgIndex = Math.round( Math.random() * 4 );

4. 核心的程序就是這些。盡管很簡單,卻是一種小小的思路,若以此為基礎,通過加工可以做出一些擴展功能。比如:主題切換以及其它的隨機呈現等等。下面是完整的JS代碼。

<script type="text/javascript">
//<!CDATA[
    var bodyBgs = [];
    bodyBgs[0] = "images/01.jpg";
    bodyBgs[1] = "images/02.jpg";
    bodyBgs[2] = "images/03.jpg";
    bodyBgs[3] = "images/04.jpg";
    bodyBgs[4] = "images/05.jpg";

    var randomBgIndex = Math.round( Math.random() * 4 );

//輸出隨機的背景圖
    document.write('<style>body{background:url(' + bodyBgs[randomBgIndex] + ') no-repeat 50% 0}</style>');
//]]>
</script>

5. 思想有多遠,你的程序就能走多遠。

6. 從本文開始,愛蓮學堂每發一篇文章附一則小笑話,以此為廣大IT從業者做一點點心情上的放松,見右邊欄“輕松一刻”。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM