我是JS的菜鸟,但是我必须在某些项目中使用它。目前,我找回了脚本的源代码(不是我的)。 它可以使JS具有动人的背景。
如果背景中有多个图像,则脚本会建立交叉淡入淡出。
这是我目前拥有的http://jaouani.fr/pickybanshees/
即使脚本允许更多图像,我的背景图像也只有一张。
因此,我对gb02和bg03图像的行进行了注释。
结果不再是淡入淡出。可以,这就是我想要的。
// Slideshow Background.
(function() {
// Settings.
var settings = {
// Images (in the format of 'url': 'alignment').
images: {
'images/bg01.jpg': 'center',
//'images/bg02.jpg': 'center',
//'images/bg03.jpg': 'center'
},
// Delay.
delay: 6000
};
// Vars.
var pos = 0, lastPos = 0,
$wrapper, $bgs = [], $bg,
k, v;
// Create BG wrapper, BGs.
$wrapper = document.createElement('div');
$wrapper.id = 'bg';
$body.appendChild($wrapper);
for (k in settings.images) {
// Create BG.
$bg = document.createElement('div');
$bg.style.backgroundImage = 'url("' + k + '")';
$bg.style.backgroundPosition = settings.images[k];
$wrapper.appendChild($bg);
// Add it to array.
$bgs.push($bg);
}
// Main loop.
$bgs[pos].classList.add('visible');
$bgs[pos].classList.add('top');
// Bail if we only have a single BG or the client doesn't support transitions.
if ($bgs.length == 1
|| !canUse('transition'))
return;
window.setInterval(function() {
lastPos = pos;
pos++;
// Wrap to beginning if necessary.
if (pos >= $bgs.length)
pos = 0;
// Swap top images.
$bgs[lastPos].classList.remove('top');
$bgs[pos].classList.add('visible');
$bgs[pos].classList.add('top');
// Hide last image after a short delay.
window.setTimeout(function() {
$bgs[lastPos].classList.remove('visible');
}, settings.delay / 2);
}, settings.delay);
})();
但是,背景在右边,然后在左边。我想让它在准确的时刻停止。我不希望背景偏左。
有任何想法编辑此脚本吗?