我找到了!我回答了一个与这里非常相似的问题
好的,我这样做的方式与您的布局有点不同。虽然如果你不喜欢我的布局,你可以调整它。我选择了这个布局,因为它看起来是最优的。
我制作了一个为背景延伸的父 div(此外,您可以将其设置为任何大小,将其放置在任何地方,等等......)。接下来,我将三个img
标签及其各自的链接放入其中(将链接替换为您自己的链接)。
接下来是一点 CSS。你会注意到我隐藏了所有图像,然后将第一个图像设置为display: block
,从而使其可见。这里的另一个关键是将图像的高度和宽度设置为 100%,以便它们拉伸到父级。
最后,只需一点简单的 JS。写成你想要的样子。在我的示例中,我只是简单地抓取当前可见,然后查找下一步。如果他们下一个没有图像,那么我回到第一个!
jsFiddle [使用您的 jQuery 代码风格修改]
jsFiddle [使用您的 HTML 布局的修改示例]
下面是来自我的原始布局和样式的示例代码
HTML
<div id="myBackground">
<img src="http://jsfiddle.net/img/initializing.png" />
<img src="http://cdn.css-tricks.com/wp-content/themes/CSS-Tricks-10/images/bg.png" />
<img src="http://cdn.buuteeq.com/upload/4074/header3.jpg.1140x481_default.jpg" />
</div>
CSS
#myBackground {
bottom: 0;
left: 0;
position: fixed;
right: 0;
top: 0;
}
#myBackground img {
display: none;
height: 100%;
/* this will remove "white flash" between fade */
position: absolute;
width: 100%;
}
#myBackground img:first-child {
display: block;
}
JS
function changeBackground() {
// here i select the current one visible,
// then i check if there is another omage after it, else i go back to the first
var cur = $("#myBackground img:visible"),
nxt = cur.next().length ? cur.next() : $("#myBackground img:first");
cur.fadeOut("slow");
nxt.fadeIn(1500);
}
$(function() { // starts when page is loaded and ready
setInterval(changeBackground, 2250); // 2 second timer
})