我对javascript完全陌生,目前遇到项目问题。
我正在尝试制作具有特定过渡效果的图片幻灯片。幻灯片以过渡为基础,并带有用于过渡的标签(复选框)。我尝试制作一个脚本,每5秒钟更改一次复选框。
我已经从朋友那里得到了很大的帮助,但我根本无法使它正常工作。
这是脚本:
var slider_i = 1;
function slider_change(){
if(++slider_i > 4){
slider_i=1;
}
document.getElementById('select-img-'+slider_i).checked = true;
setTimeout(slider_change, 5000);
}
slider_change();
这里是我正在谈论的滑块:http://demo.br-photography.ch/Portal/transitions/index_3.html
我制作了一个jsfiddle,更容易测试原因,然后我们可以查看是否没有css属性的复选框实际切换了。他们可以,但是我在测试现场上的幻灯片没有按原样切换图像...?
替换此
var slider_i = 1;
function slider_change(){
if(++slider_i > 4){
slider_i=1;
}
document.getElementById('select-img-'+slider_i).checked = true;
setTimeout(slider_change, 5000);
}
slider_change();
与此一起:-
var slider_i = 1;
function slider_change(){
if(++slider_i > 4){
slider_i=1;
}
try{
document.getElementById('select-img-'+slider_i).checked = true;
}catch(err){}
setTimeout(slider_change, 5000);
}
slider_change();
var slider_i = 0; // !!!
var slider_change = function (){
if(++slider_i > 4){
slider_i=0;
}
document.getElementById('select-img-'+slider_i).checked = true;
setTimeout(slider_change, 50000);
};
slider_change();
或您的代码实际发生了什么:
var slider_i = 1; var slider_change = function (){ if(slider_i++ > 3){ // !!! slider_i=1; } document.getElementById('select-img-'+slider_i).checked = true; setTimeout(slider_change, 50000); }; slider_change();
[
slider_i
设置为1。
slider_change
slider_i
,它首先使++slider_i
递增slider_i
的值为2
<4
slider_i
的ID。select-img-2
将永远不会到达。我不知道这是否会导致任何后续错误。