經常在網上見一些網站訪問一次背景圖片改變一次,而且圖片的大小不停變換,於是想着自己研究一下。
背景圖片可以通過JS的隨機數來改變圖片的src來實現隨機圖片,圖片的大小變換可以用JS的setInterval實現。
img目錄下的圖片:
測試代碼:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <script src="js/jquery-1.8.3.min.js"></script> </head> <body> <img id="img1" style="z-index: -1;position: absolute;left: 0;top: 0;" /> </body> </html> <script> + function() { //設置初始化設置 $("#img1").attr("src", "./img/" + getRandomSrc() + ".jpg"); var width = window.innerWidth > 0 ? window.innerWidth : document.body.clientWidth; //寬度 var height = window.innerHeight > 0 ? window.innerHeight : document.body.clientHeight; //高度 $("#img1").attr("width", width); $("#img1").attr("height", height); //動畫效果 var changeSize = 100; var time = 3000; var heightChangeSize = changeSize * height / width; var bigWidth = width + changeSize; var bigHeight = height + heightChangeSize; $("#img1").animate({ width: bigWidth, height: bigHeight, left: -changeSize / 2, top: -heightChangeSize / 2 }, time); var flag = 0; setInterval(function() { if (flag == 1) { flag = 0; $("#img1").animate({ width: bigWidth, height: bigHeight, left: -changeSize / 2, top: -heightChangeSize / 2 }, time); } else { flag = 1; $("#img1").animate({ width: width, height: height, left: "0", top: "0" }, time); } }, time); }(); function getRandomSrc() { var rnd = Math.ceil(Math.random() * 7); return rnd; } </script>
結果可以實現每次訪問圖片src隨機而且大小不停的變換。
一般是在登錄頁使用上面的效果實現呼吸圖的效果,如果縱向出現滾動條的話可以用下面css代碼隱藏滾動條:
<img id="img1" style="z-index: -1;position: absolute;left: 0;top: 0;width: 100%;height: 100%;"/>
html,body{ overflow-y:hidden; }
如果在JS不生效,圖片的src地址也可以從后台用隨機數生成,效果是一樣的。