青岛星网开发会员登录注册页面的时候,想实现页面大背景自动渐变切换,不想引用JQ因为太大,就用JS+CSS3用很少的代码实现了一个,下面跟大家分享代码。
<div id="imgs"> <div id="bg1" class="bg"></div> <div id="bg2" class="bg fadein"></div> </div>
这是2个背景图片切换,如果你想用3个或4个图片切换,增加里面的div即可,把ID=bg+数,递增即可。当然CSS里面也要相应的写上图片哦。
.bg{position:absolute;left:0;top:0;width:100%;height:100%;-webkit-transition:opacity 2s linear;-moz-transition:opacity 2s linear;-o-transition:opacity 2s linear;transition:opacity 2s linear;opacity:0}
#bg1{background:url(img/1.jpg) no-repeat;background-size:cover}
#bg2{background:url(img/2.jpg) no-repeat;background-size:cover}
.fadein{opacity:100;filter:alpha(opacity=100)}如果前面HTML增加了图片,记得在这里添加相应的图片背景哦。
// 替换class达到淡入淡出的效果
function fadeIn(e) {
e.className = "bg fadein"
};
function fadeOut(e) {
e.className = "bg"
};
//申明图片数组中当前的轮播图片
cur_img = document.getElementById("imgs").children.length - 1;
//图片轮播函数
function turnImgs(imgs) {
var imgs = document.getElementById("imgs").children;
if (cur_img == 0) {
fadeOut(imgs[cur_img]);
cur_img = imgs.length - 1;
fadeIn(imgs[cur_img]);
} else {
fadeOut(imgs[cur_img]);
fadeIn(imgs[cur_img - 1]);
cur_img--;
}
}
//设置轮播间隔
setInterval(turnImgs,3000);至此已经实现了大背景自动切换渐变。
缺点:用于使用了CSS3,导致低版本的IE浏览器不支持。
如果想兼容所有浏览器可以使用JQ来编写,大家可以参考:Jquery实现支付宝首页背景图片切换 这个是我照着支付宝的首页切换扒下来的,可以兼容所有浏览器,只是JQ插件太大,我选择了本文介绍简易方法实现。
实际项目应用参考地址:http://www.qdxw.net/member/login.html 大家看看 大背景自动切换,是不是很酷哦。
喜欢简单的可以用我这个方法,喜欢兼容全部的就用前面JQ的实现方式,都是一样的效果哦。

