使用“background:url()”淡出横幅
Fading Banner Using `background:url()`
>我有一个横幅,包含在包含我的横幅的div
标签中。我想让横幅淡入下一个图像,但不确定如何实现淡入淡出效果。我尝试使用jQuery fadeIn(),但它失败了。
我需要使用该background: url()
的原因是,我希望在调整浏览器大小时,此横幅图像可以愉快地调整大小。我不确定这是否是解决我的问题的最佳方式。
编辑 - 我当前的代码确实交换了横幅中的图像,但没有应用 fadeIn() 效果。控制台不报告任何错误。
.CSS:
header div#banner {
background: url(../image/banner/00.jpg) no-repeat center;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
height: 300px;
}
JavaScript:
var bannerImages = new Array();
var bannerCounter = 0;
function run() {
loadBannerImages();
runBannerTimer();
}
function loadBannerImages() {
var filePath = "image/banner/";
bannerImages[0] = filePath + "00.jpg";
bannerImages[1] = filePath + "01.jpg";
bannerImages[2] = filePath + "02.jpg";
bannerImages[3] = filePath + "03.jpg";
bannerImages[4] = filePath + "04.jpg";
}
function runBannerTimer() {
var t=setTimeout("swapBannerImage()",2000);
}
function swapBannerImage() {
$('#banner').fadeIn(1000, function() {
$('#banner').css('background', 'url(' + bannerImages[bannerCounter] + ') no-repeat center');
});
bannerCounter++;
if (bannerCounter >= bannerImages.length) {
bannerCounter = 0;
}
runBannerTimer();
}
您的设置超时不正确;请尝试以下操作:
function runBannerTimer() {
var t=setTimeout(function(){
swapBannerImage()
},2000);
}
编辑
以下是更新的横幅交换功能:
function swapBannerImage() {
$('#banner').fadeOut('slow', function(){
$('#banner').css('background', 'url(' + bannerImages[bannerCounter] + ') no-repeat center').fadeIn('slow');
});
bannerCounter++;
if (bannerCounter >= bannerImages.length) {
bannerCounter = 0;
}
runBannerTimer();
}
此处更新的演示
您可以使用多个div - 每个图像一个 - 并淡入/淡出它们。div 仍然可以像您想要的那样使用 css background
,您只需要绝对定位它们,以便它们一个接一个地出现。但是,要获得绝对定位的div以使用父div调整大小(即获得"令人愉悦"的大小调整效果),您必须像这样设置css:
header div#banner {
... /* your background stuff here */
position: absolute;
left: 0;
right: 0;
height: 300px;
}
请注意,您将同时分配left
和right
,这将使它占据父项的整个宽度。并且,请确保父级具有position:relative
。
相关文章:
- 音频控件在mouseover上显示,在mouseout上淡出
- Javascript将图像src更改为淡入淡出
- css(或jQuery)悬停时淡入淡出
- 将淡入淡出添加到“我的身体背景滑块”
- 多重潜水淡入淡出打开
- 从Chrome扩展名中的popup.html文件在background.js文件中运行一个函数
- 添加/删除类淡入淡出不起作用
- 在容器中心滚动时淡出
- 带有计数器、缩略图、进度条和淡入淡出效果的简单jQuery幻灯片
- jQuery图像幻灯片,在停止后淡出到第一张图像
- jQuery淡出后停止自动滚动
- 在这个幻灯片中没有淡出效果JavaScript,CSS和HTML
- 使用jquery淡入淡出
- 淡入淡出脚本不起作用
- 具有淡入淡出效果的全背景图像
- 3秒后淡出文本
- jQuery滑块淡入淡出
- 在淡入淡出之间淡入淡出
- jQuery idTabs-使用鼠标悬停自动更改和淡入淡出
- 使用“background:url()”淡出横幅