经常在网上见一些网站访问一次背景图片改变一次,而且图片的大小不停变换,于是想着自己研究一下。
背景图片可以通过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地址也可以从后台用随机数生成,效果是一样的。