[英]Javascript: not modifying global variables in slider function
我的网页上有一个滑块,我正在尝试使用全局变量基于当前幻灯片来操纵此计时。 我的问题是:我是否正确地操纵了全局变量(将其设置为10000或2000)和/或是否在正确的位置创建了全局变量。
一直感谢,洛克
<script>
var timer = 4000;
function slideShow() {
var displayToggled = false;
var current1 = $('.slide:visible');
var nextSlide = current1.next('.slide');
var hideoptions = {
"direction": "left",
"mode": "hide"
};
var showoptions = {
"direction": "right",
"mode": "show"
};
if (current1.is(':last-child')) {
current1.effect("slide", hideoptions, 2000);
$("#firstSlide").effect("slide", showoptions, 2000);
timer = 10000;
}
else if (current1.is(':first-child')) {
current1.effect("slide", hideoptions, 1000);
nextSlide.effect("slide", showoptions, 1000);
timer = 2000;
}
else {
current1.effect("slide", hideoptions, 2000);
nextSlide.effect("slide", showoptions, 2000);
timer = 10000;
}
};
setInterval(slideShow, timer);
slideShow();
</script>
参考:原始幻灯片: 简单幻灯片jQuery / UI图像内联
现场示例: http : //www.nerdherdgames.com
编辑:实时站点当前在索引页面上没有此特定的javascript
Number是javascript中的原始类型,它不是对象,对象是通过引用传递的,而number是通过值传递的。 因此,第一次调用后
setInterval(slideShow, timer);
无论您如何更改可变计时器,它都不会影响第一次设置的间隔。
setInterval(slideShow, timer);
只会设置一次,因此间隔将是timer
的第一个值,或者您可以使用setTimeout
以便每次函数结束时都设置计时器。 这意味着,不要在每张幻灯片上更改timer
的值,而应在动画结尾处开始setTimeout
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.