背景图片轮播
背景图片轮播
由于<img>
标签不能实现固定高度的宽度不失真拉伸,采用CSS3background
属性去实现! 如果是使用<img>
的话,使用bootstrap的轮播器器!
1、全屏背景切换
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>全屏背景切换</title>
<script src="http://api.asilu.com/cdn/jquery.js,jquery.backstretch.min.js" type="text/javascript"></script>
</head>
<body>
<script type="text/javascript">
$.backstretch([
'http://api.asilu.com/cdn/img/bg/444.jpg',
'http://api.asilu.com/cdn/img/bg/445.jpg',
'http://api.asilu.com/cdn/img/bg/446.jpg',
'http://api.asilu.com/cdn/img/bg/447.jpg',
'http://api.asilu.com/cdn/img/bg/448.jpg'
], {
fade : 1000, // 动画时长
duration : 2000 // 切换延时
});
</script>
</body>
</html>
实现炫酷的页面整个背景覆盖切换
自定义背景图片切换
html只有一个div
<div id="img-body">
<div id="img-background"></div>
</div>
css样式
#img-body div {
width: 100%;
height: 650px;
position: relative;
min-width: 1000px;
background-image: url("../../../SchoolDesign/images/bg1.jpg");
background-position: center !important;
background-repeat: no-repeat !important;
background-size: cover !important;
background-color: #515256 !important;
opacity:1 ;
transition: opacity 1s cubic-bezier(0, 0, 1, 1);
transition-delay: 300ms;
}
JS
//背景轮播
// 定义图片路径 {num} 为 可变的图片序号
var bgImgUrl = '../../SchoolDesign/images/bg{num}.jpg', bgNum,
bgImgArr = [],
bgDiv = $('#img-background');
// 图片循环序号
for (var i = 1; i <= 2; i++) {
bgImgArr.push(bgImgUrl.replace('{num}', i));
console.log(bgImgArr);
}
setBGimg();
function setBGimg(d) {
if (!bgNum || bgNum >= bgImgArr.length) bgNum = 0;
// bgDiv.style.opacity = 0.1;
bgDiv.css('opacity', '0.01');
// bgDiv.fadeIn(1000);
setTimeout(function () {
// bgDiv.style.backgroundImage = 'url(' + bgImgArr[bgNum] + ')';
bgDiv.css('background', 'url(' + bgImgArr[bgNum] + ')');
bgNum++;
// bgDiv.style.opacity = 1;
bgDiv.css('opacity', '1');
}, 1000);
if (typeof d == 'undefined')
setInterval(function () {
setBGimg(true);
}, 6000);
// 上一行的 6000 是背景图片自动切换时间(单位 毫秒)
}
显示效果不如fade淡入淡出,肯定在transition的样式没有设置好!
其他示例
参考
Last updated