【发布时间】:2011-12-30 20:38:00
【问题描述】:
我正在尝试创建一个简单的照片幻灯片...但我无法让它无限循环并浏览所有图像(和链接)。
我尝试了一个 for() 函数 http://jsfiddle.net/2TPTX/,也没有它,http://jsfiddle.net/2TPTX/1/ 。但我仍然无法让它正常工作。
你们能帮帮我吗?
它在我提供的小提琴中的代码(http://jsfiddle.net/2TPTX/ 或http://jsfiddle.net/2TPTX/,但为了您的方便,我也将其包含在此处。
HTML:
<div id="slideshow">
<a id="slideshow_lnk" href="www.mysite.com/some_link_1.html">
<div id="slideshow_img"></div>
</a>
</div>
CSS:
#slideshow {
width: 50px;
height: 50px;
}
#slideshow_img {
background-repeat:no-repeat;
background-size:100% 100%;
width: 50px;
height: 50px;
}
jQuery:
var $slide = $("#slideshow_img");
var $link = $("#slideshow_lnk");
//$photos Array
var $photos = [['photo', 'link']]; //[0] = Header
$photos[1] = ['http://img510.imageshack.us/img510/2497/54208035.jpg', 'http://www.stackoverflow.com/'];
$photos[2] = ['http://img265.imageshack.us/img265/3355/62320763.jpg', 'http://www.google.com/'];
$photos[3] = ['http://img411.imageshack.us/img411/1237/75707805.jpg', 'http://www.yahoo.com/'];
//Loop variables
$photos.count = $photos.length - 1;
var $fade_time = 3500;
var $i = 1;
function slideshow() {
$i = ($i > $photos.count ? 1 : $i++);
$photos.css_url = "url('" + $photos[$i][0] + "')";
$link.attr("href", $photos[$i][1]);
$slide.fadeOut($fade_time);
$slide.css("background-image", $photos.css_url);
$slide.fadeIn($fade_time);
}
slideshow();
【问题讨论】:
-
忘了提及这一点:在加载时,我希望
<div id="slideshow_img"></div>显示图像 1,然后(在$fade_time之后)显示图像 2 的fadeOut()和fadeIn(),而不是fadeOut()然后fadeIn()和图片 1
标签: jquery animation slideshow infinite-loop