希望有人可以帮助解决这个问题。
我正在调整网站上的一些代码(我的 jQuery 知识相当初级)。
前面的编码器使用索引来为幻灯片下的小方块(以及许多其他的小方块)制作动画。
代码摘录如下所示:
$(document).ready(function(event){
SlideAreaData = [
// Our Commitment
{
Blurbs:[
// 0
"We believe that businesses...",
// 1
"We can...",
// 2
"We will always..."
],
SlideData:{// SlideNumber : [BlurbIndex,ListIndex,HighlightClass,SlideArrow]
// Our Commitment landing
0 :[0,0,'colour_blue','images/BlueArrow'],
// Our Commitment
1 :[1,1,'colour_blue','images/BlueArrow'],
2 :[2,2,'colour_blue','images/BlueArrow']
},
Links:[[0,'background_blue'],[1,'background_blue'],[2,'background_blue'],[3,'']]// length of slides at end
}
...
滑块功能
$('.slidebox_window').each(function(i,e){
/*ContentArea*/
var Blurbs = SlideAreaData[i].Blurbs;
var SlideData = SlideAreaData[i].SlideData;
var LinkData = SlideAreaData[i].Links;
var SlideView = 0;
var SlideBlurb = 0;
var SlideLinkIndex = 0;
var SlideHighlight = 'colour_blue';
var _Startup = true;
var SlideWindow = $(e);
var Slides = $(e).children('.slidebox_slide');
var Navlist = $(e).parentsUntil('#ContentArea').find('.slidebox_list > li');
var BlurbDiv = $(e).parentsUntil('#ContentArea').find('.slidebox_blurb');
var Progress = $(e).parentsUntil('#ContentArea').find('.slidebox_progress');
var ButtonLeftImg = SlideWindow.find('.slidebox_nextz>img').eq(0);
var ButtonRightImg = SlideWindow.find('.slidebox_nextz>img').eq(1);
Navlist.each(function(i,e){
$(e).click(function(event){
SkipToSlide(LinkData[i][0]);
});
});
var SkipToSlide = function(next,direction){
if(direction != 1)
direction = -1;
if(next==SlideView || Slides.is(':animated') || BlurbDiv.is(':animated'))
return;
Slides.eq(next).css({'left':direction*640});
Slides.filter(':eq('+SlideView+'),:eq('+next+')').animate({left:(direction==1?'-':'+')+'=640'},500,'easeOutElastic')
HighlightSlide(next);
};
var HighlightSlide = function(next){
if(next == SlideView /*&& !_Startup*/)
return;
info = SlideData[next];// 0:BlurbIndex, 1:LinkIndex, 2:HighlightClass
size = LinkData[info[1]+1][0] - LinkData[info[1]][0];
current = next - LinkData[info[1]][0];
highlight = LinkData[info[1]][1];
if(info[1] != SlideLinkIndex || _Startup){
// Highlight active link
Navlist.eq(SlideLinkIndex).removeClass(SlideHighlight);
Navlist.eq(info[1]).addClass(info[2]);
// Manage progress display
if(size > 1){
Progress.html(Array(size+1).join('<div></div>'));
Progress.children().each(function(i,e){
$(e).on('click',function(){
SkipToSlide(LinkData[info[1]][0]+i);
}).css('cursor','pointer');
});
}else{
Progress.html('');
}
SlideHighlight = info[2];
SlideLinkIndex = info[1];
}
//SlideWindow.find('.slidebox_nextz>img').attr('src',info[3]);
ButtonLeftImg.attr('src',info[3]+'L.png');
ButtonRightImg.attr('src',info[3]+'R.png');
Progress.children().removeClass(highlight).eq(current).addClass(highlight);
if(SlideBlurb != info[0] /*|| _Startup*/){
text = Blurbs[info[0]];
test = BlurbDiv.clone().appendTo('#TestArea');//$('#TestArea').
test.html(text).css({'height':'auto','width':BlurbDiv.outerWidth(true)});
BlurbDiv.animate({opacity:0},250,function(){
BlurbDiv.animate({height:test.height()},250,function(){
BlurbDiv.html(text);
BlurbDiv.animate({opacity:1},250,function(){
test.remove();
});
});
});
SlideBlurb = info[0];
}
SlideView = next;
};
Highlighters[i] = HighlightSlide;
然后每张幻灯片下的html是:
<div style="top:-3px;position:relative;left:206px;height:57px;width:212px;text-align:center;" class="slidebox_progress">
<div></div>
<div></div>
<div></div>
</div>
我已经尝试了索引的所有可能变化,以尝试让我的部分正常工作。只是无法解决。
所有代码都可在http://www.leanproductions.co.uk/dev/
我正在努力工作的部分在底部,我们的承诺。
抱歉,这里有这么多代码,其中大部分可能不需要,正如我所说的那样,链接中的所有内容都可用。
任何帮助都将不胜感激。卢克