这是我在把它扔进厕所之前修复这个项目的最后一次尝试。所以基本上它是一个滑块,可以从幻灯片数据容器中的图像中提取数据。将其应用于 div 时,它会使用 css 类对其进行样式设置。我的问题是为什么我在运行它时会得到“超出最大调用堆栈大小”?我正在使用动画回调,所以真的应该没有问题。无论哪种方式,我都将退出该函数并返回。我不确定发生了什么事。
请忽略全局变量和评论部分,因为我一直在尝试解决这个问题的许多方法。
为关心的人完成了滑块脚本。
JS(需要 jQuery 和 jQuery UI 效果):
var dt=5000; //set this to determine slide delay time
function transitionSlides(){c++;if(c<=i){$(".slide-holder").toggle("slide",{direction:"right"},"fast");return changeBackground()}else{c=0;return transitionSlides()}}function changeBackground(){var e=c.toString();var t=$("#slide"+e).attr("title");var n=$("#slide"+e).attr("src");$(".slide-holder").css("background","url("+n+") no-repeat").html(t).delay(dt).toggle("slide",{direction:"left"},"fast",transitionSlides)}var c=0;var i=new Number;$(document).ready(function(e){i=$(".slide-data").children("img").length;transitionSlides()})
CSS:
.slide-holder {
font-family: /* slide font */
font-size:40px;
text-align:center;
color:#FFF;
text-shadow:2px 2px 3px #000;
}
.slide-data, .slides {
display:none;
}
.slide-frame, .slide-holder { /* slide-frame keeps page from jarring up and down when slide-holder exits */
height:325px;
width:800px;
}
HTML 标记示例:
<div class="slide-frame">
<div class="slide-holder"></div>
<div class="slide-data">
<img src="images/slides/slide1.png" class="slides" id="slide1" width="800" height="325" alt="empowering startups" title="slide text one" />
<img src="images/slides/slide2.png" class="slides" id="slide2" width="800" height="325" title="This is a test" />
<img src="images/slides/slide3.png" class="slides" id="slide3" width="800" height="325" title="This is also a test" />
<img src="images/slides/slide4.png" class="slides" id="slide4" width="800" height="325" title="Testing the last one too." />
</div>
</div>