如何制作一个Javascript渐变滑动背景
How to make a Javascript fade sliding background?
我正在做一些期末项目,但是我一直在弄乱我想用作背景的图像滑块。
它是有效的,但是没有特殊的效果使它慢慢褪色。
你能给我的问题提个解决方案吗?我的代码:
<script type="text/javascript">
var images = new Array();
images[0] = "img/bck.png";
images[1] = "img/bck2.png";
images[2] = "img/bck3.png";
images[3] = "img/bck4.png";
images[4] = "img/bck5.png";
window.onload = function showDelay() {
setInterval ("changeBg()", 3000);
}
var i=0;
function changeBg() {
if (i==5) {
i=0;
}
document.body.style.backgroundImage = 'url('+images[i]+')';
i++;
}
</script>
您可以使用jQuery实现相同的功能。
工作示例- http://codepen.io/nitishdhar/pen/fhjkD
代码设置&解释
像这样设置你的HTML -
<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
</head>
<body>
<div class="bg-holder">
<img class="fade" src="http://placehold.it/940x800/DF013A">
<img class="fade" src="http://placehold.it/940x800/A901DB">
<img class="fade" src="http://placehold.it/940x800/013ADF">
</div>
</body>
</html>
创建一个div来存放你想要使用的所有背景图片。
添加一些CSS -
.bg-holder {
position: fixed;
z-index: -1;
top: 0;
left: 0;
background-color: #000;
}
.bg-holder img.fade {
position: absolute;
top: 0;
display: none;
width: 100%;
height: 100%;
z-index: -1;
}
然后添加一些jQuery代码,不要忘记使用include jQuery库在你的头-
function setupBackgroundAnimation() {
$('img.fade').hide();
$('.bg-holder').css({ 'height': $(window).height(),'width': $(window).width() });
animateBackground();
}
function animateBackground() {
$(".bg-holder img.fade").first().appendTo('.bg-holder').fadeOut(1500);
$(".bg-holder img").first().fadeIn(1500);
setTimeout(animateBackground, 3000);
}
/*Initiate Animated Background on Document Ready*/
$(document).ready(function() {
setupBackgroundAnimation();
});
animateBackground函数保存bg-holderdiv &移动到最后,同时淡化它。然后,它通过淡化来呈现下一张图像。每3000毫秒(1500毫秒)重复一次,同时将当前图像淡出。1500用于下一张图像的衰落)
setupBackgroundAnimation函数调整bg-holder的大小以适应当前窗口的大小
!function( global, doc ){
var images = ["img/bck.png", "img/bck2.png", "img/bck3.png" /* ... */ ]
, i = 0;
global['onload'] = function() {
setInterval (function(){
i === 5 && (i = 0);
doc.body.style.backgroundImage = 'url(' + images[i] + ')';
i++;
}, 3000);
}
}(window, document)
相关文章:
- JavaScript应用CSS3渐变
- 我怎么能有一个自动渐变背景使用JavaScript,它适用于最新版本的Internet Explorer
- JavaScript渐变幻灯片-图像链接
- 动画渐变(javascript)背景不会延伸到窗口的整个高度
- 使用Javascript/jQuery使用spritesheet从一个类渐变到另一个类
- 使用Javascript正则表达式解析css渐变规则
- 使用javascript更改背景图像时保持渐变不变
- JavaScript 函数不适用于渐变
- 我将如何在JavaScript中设置CSS渐变背景
- 使用 CSS3 或 JavaScript 对 Webkit 渐变进行动画处理的方法
- 弹跳球在JavaScript上与背景和渐变
- 使用Javascript有没有办法抓取由线性或径向渐变渲染的背景图像
- HTML5/JavaScript 画布文本渐变效果
- IE8(Javascript和CSS)中带有拉伸BG的渐变图像背景
- 带有渐变的Javascript滑块在chrome上失败,而在FF和IE7/8/9上工作
- 带渐变的JavaScript img滑块
- 背景幻灯片(javascript)渐变效果
- Javascript/jQuery-背景渐变动画(无限)
- 使用css渐变和javascript创建动画
- 带有bg颜色变化和渐变javascript的横幅旋转器