正文背景图像旋转应支持动态数量的图像
Body Background Image Rotation should support dynamic number of images
我使用jquery幻灯片来旋转背景图像。但是我的要求是什么,我必须根据特定日期显示背景图像。我的意思是有时我必须旋转一张图像,有时旋转 3 张,有时像这样旋转 3 张。对于这个,我每次都必须更改脚本。如何在不更改脚本的情况下动态旋转背景图像。如果有人有解决方案,请向我建议一些示例脚本。
var slideshowSpeed = 6000;
var photos = [
{image1.png},
{image2.png},
{image3.png}
];
$(document).ready(function() {
$("#back").click(function() {
stopAnimation();
navigate("back");
});
$("#next").click(function() {
stopAnimation();
navigate("next");
});
var interval;
$("#control").toggle(function() {
stopAnimation();
}, function() {
$(this).css({"background-image":"url(images/btn_pause.png)"});
navigate("next");
interval = setInterval(function() {
navigate("next");
}, slideshowSpeed);
});
var activeContainer = 1;
var currentImg = 0;
var animating = false;
var navigate = function(direction) {
if (animating) {
return;
}
if (direction == "next") {
currentImg++;
if (currentImg == photos.length + 1) {
currentImg = 1;
}
} else {
currentImg--;
if (currentImg == 0) {
currentImg = photos.length;
}
}
var currentContainer = activeContainer;
if (activeContainer == 1) {
activeContainer = 2;
} else {
activeContainer = 1;
}
showImage(photos[currentImg - 1], currentContainer, activeContainer);
};
var currentZindex = -1;
var showImage = function(photoObject, currentContainer, activeContainer) {
animating = true;
currentZindex--;
$("#headerimg" + activeContainer).css({"background-image":"url(images/" + photoObject.image + ")","display":"block","z-index":currentZindex});
$("#headertxt").css({"display":"none"});
$("#firstline").html(photoObject.firstline);
$("#secondline").attr("href", photoObject.url).html(photoObject.secondline);
$("#pictureduri").attr("href", photoObject.url).html(photoObject.title);
$("#headerimg" + currentContainer).fadeOut(function() {
setTimeout(function() {
$("#headertxt").css({"display":"block"});
animating = false;
}, 500);
});
};
var stopAnimation = function() {
$("#control").css({"background-image":"url(images/btn_play.png)"});
clearInterval(interval);
};
navigate("next");
interval = setInterval(function() {
navigate("next");
}, slideshowSpeed);
});
我有上面的脚本。下面是我的 html
<div id="headerimgs">
<div id="headerimg1" class="headerimg"></div>
<div id="headerimg2" class="headerimg"></div>
<div id="headerimg3" class="headerimg"></div>
</div>
您可以创建一个简单的 javascript 函数,该函数根据当前日期返回var photos
。
function getPhotos() {
var currentDate = new Date(),
photos;
if (currentDate === new Date("December 25, 2012")) {
photos = [{ .... }];
}
return photos;
}
您的代码将是:
var photos = getPhotos();
您可以使用
var d = new Date();
var n = d.getDay();
找出今天是哪一天..对于图像旋转,我会推荐拉斐尔图书馆。 这在大多数浏览器中都兼容(Firefox 3.0+,Safari 3.0 +,Chrome 5.0 +,Opera 9.5 +和Internet Explorer 6.0 +),并且非常易于使用。
相关文章:
- 使用JavaScript根据窗口/视口的高度动态调整图像大小
- 动态更改'汉堡包'导航取决于BG图像
- 是否可以仅通过jQuery将图像替换为用户动态选择的另一个图像
- 可在多个相册文件夹中查找的动态图像库
- 使用jquery垂直对齐动态加载的图像
- 根据容器 DIV 中的图像动态调整容器 DIV 的大小
- 如何将任意数量的图像动态添加到源字符串位于数据库中的 Web 窗体
- 将图像动态添加到照片滑动
- 使用 JavaScript 和构造函数的动态变量名称:使用 EaselJS 将图像动态克隆到多个画布
- 可以使用图像URL为图像动态添加替代文本
- 在没有画布的javascript中使用自定义光标图像动态更改光标大小
- CSS背景图像动态调整大小
- 将图像动态添加到HTML字符串中
- 使用javascript将图像动态写入iframe
- 根据背景图像动态调整文本颜色
- 根据图像动态设置画布的宽度和高度
- 在html中将图像动态添加到滑块中
- 将不同尺寸的并排图像动态调整为相同高度
- 将图像动态加载到 jQuery iViewer 中
- 如何使用javascript将图像动态地放在锚标记中