我想创建相同的淡入淡出效果,如下面的示例所示:
http://www.spicypeanut.net/Slideshow/Slideshow.html
http://www.spicypeanut.net/Blog/jQuery%20Slideshow.html
但问题是 - 这个例子只为 3 张幻灯片创建,我想要超过 3 张幻灯片,或者需要动态增加。
但是我如何修改脚本以使其自动获得最大数量的幻灯片?例如,如果我在 cms 内生成动态幻灯片,没有人能说出最大幻灯片数是多少.. 所以我必须在这部分每次手动更新 *.js:/
if (this.Last < 1) {
this.Last = 3;
}
if ($$.Slideshow.Counter > 3)
{
$$.Slideshow.Counter = 1; #
}
如果你能在这一点上帮助我(我想还有很多其他人)会很好:)
下面是本例中使用的 JS:
var $$ = $.fn;
$$.extend({
SplitID : function()
{
return this.attr('id').split('-').pop();
},
Slideshow : {
Ready : function()
{
$('div.tmpSlideshowControl')
.hover(
function() {
$(this).addClass('tmpSlideshowControlOn');
},
function() {
$(this).removeClass('tmpSlideshowControlOn');
}
)
.click(
function() {
$('div.tmpSlide').hide();
$('div.tmpSlideshowControl').removeClass('tmpSlideshowControlActive');
$('div#tmpSlide-' + $(this).SplitID()).show()
$(this).addClass('tmpSlideshowControlActive');
}
);
this.Counter = 1;
this.Transition();
},
Transition : function()
{
if (this.Interrupted) {
return;
}
this.Last = this.Counter - 1;
if (this.Last < 1) {
this.Last = 3;
}
$('div#tmpSlide-' + this.Last).fadeOut(
'slow',
function() {
$('div#tmpSlideshowControl-' + $$.Slideshow.Last).removeClass('tmpSlideshowControlActive');
$('div#tmpSlideshowControl-' + $$.Slideshow.Counter).addClass('tmpSlideshowControlActive');
$('div#tmpSlide-' + $$.Slideshow.Counter).fadeIn('slow');
$$.Slideshow.Counter++;
if ($$.Slideshow.Counter > 3) {
$$.Slideshow.Counter = 1;
}
setTimeout('$$.Slideshow.Transition();', 5000);
}
);
}
}
});
$(document).ready(
function() {
$$.Slideshow.Ready();
}
);
甚至我也做了一些研发,发现了一个更惊人的问题:
当我将其 Last vale 3 增加到 5 时,它在导航控件中的显示问题 - 比如如果您的幻灯片在 4 上,那么如果您单击 2,那么您的导航将在上一个轨道上移动,这意味着它将移动到 5 而不是 3。
所以请如果有人可以帮助我解决这个问题。