Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在javascript中使用时间间隔切换选中复选框_Javascript_Html_Checkbox_Intervals - Fatal编程技术网

在javascript中使用时间间隔切换选中复选框

在javascript中使用时间间隔切换选中复选框,javascript,html,checkbox,intervals,Javascript,Html,Checkbox,Intervals,我对javascript一窍不通,目前在一个项目上遇到了问题 我正在尝试制作一张带有特定过渡的幻灯片。幻灯片构建在过渡复选框的基础和标记上。我试着制作一个脚本,每5秒更改一次复选框 我已经从一个朋友那里得到了很多帮助,但我根本无法让它发挥作用 以下是脚本: var slider_i = 1; function slider_change(){ if(++slider_i > 4){ slider_i=1; } docum

我对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();
这是我说的滑块:

我制作了一个jsfiddle,更容易测试,因为这样我们就可以看到没有css属性的复选框是否真正切换了。是的,但是我在测试网站上的幻灯片没有像它应该的那样切换图像

尝试:

您的代码实际发生了什么:

滑块i设置为1。 调用函数slider\u change 它首先增加滑块i,因为有++滑块i 现在滑块i的值为2
它现在检查以获取您的信息,setTimeout,50000毫秒=50秒后触发50000。
如果您想等待5秒,您必须写入setTimeout,5000,只需将脚本从上到下放置即可。存在引用错误,因为最初加载页面时ElementScheckBox不可用

或者,您也可以为此问题添加try-catch块,如下所示:

替换这个

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();
使用


复选框在哪里?什么对你不起作用?复选框是“不可见的”。它们基本上被剥离成一个矩形,覆盖垂直面板,4个水平排列@itzmukeshy7我希望复选框能够自动切换,而无需访问者进行任何操作。感谢您指出这一点!那有点打字错误。虽然设置为5000毫秒,甚至只有1000毫秒,但它仍然没有采取任何行动。我尝试了这一点,它在没有所有css属性的JSFIDLE中像一个符咒一样工作:尽管在我的网站上,它似乎根本不会影响幻灯片。。。哇!成功了!非常感谢你!一个我自己绝对不会想到的细节。问题解决了。
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();
//Repeats forever
var variable = setInterval(functionYouWantToCall, 5000);
//Cancel the interval
clearInterval(variable);