Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/465.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_Setinterval - Fatal编程技术网

Javascript 集合区间法

Javascript 集合区间法,javascript,setinterval,Javascript,Setinterval,我正在尝试使用jQuery实现幻灯片放映 我有一个叫做SlideShow的按钮,点击它会触发幻灯片放映。 我显示一组缩略图: <div class="pics"> <img u="bob" id="pic1" src="/photos/thumbs/file1.jpg" class="apt" f="file1.jpg"> <img u="rob" id="pic2" src="/photos/thumbs/file2.jpg" class="apt" f="f

我正在尝试使用jQuery实现幻灯片放映 我有一个叫做SlideShow的按钮,点击它会触发幻灯片放映。 我显示一组缩略图:

<div class="pics">
 <img u="bob" id="pic1" src="/photos/thumbs/file1.jpg" class="apt" f="file1.jpg">
 <img u="rob" id="pic2" src="/photos/thumbs/file2.jpg" class="apt" f="file2.jpg">
 <img u="job" id="pic3" src="/photos/thumbs/file3.jpg" class="apt" f="file3.jpg">
 <img u="tom" id="pic4" src="/photos/thumbs/file4.jpg" class="apt" f="file4.jpg">
 <img u="scott" id="pic5" src="/photos/thumbs/file5.jpg" class="apt" f="file5.jpg">
</div>

你可以看到thumbs有一个类“apt”,它允许我获取所有thumbs的集合。 click事件处理程序只需要在循环中调用一个具有setInterval(f,5000)的函数 这样,我每5秒读取一个拇指的信息,并从服务器加载完整图像

但不管我怎么做,我都没有定义。代码如下:

   var idx='';
   function SlideShow() {
     idx = 1;   //global variable to track index of current thumb inside <div>
     setInterval("GetFullImage()",5000);
   }

   function GetFullImage(){
     var i = $('.apt:nth-child(' + idx + ')').attr("id"); 
     var u = $('.apt:nth-child(' + idx + ')').attr("u"); 
     var f = $('.apt:nth-child(' + idx + ')').attr("f");
     alert('i:=' + i + ' u:' + u + ' f:' + f); <-- always say i, u, f undefined after first time
     idx++;        
   }
varidx='';
函数幻灯片(){
idx=1;//用于跟踪内部当前拇指索引的全局变量
setInterval(“GetFullImage()”,5000);
}
函数GetFullImage(){
var i=$('.apt:n子项('+idx+')).attr(“id”);
var u=$('.apt:n个子('+idx+')).attr(“u”);
var f=$('.apt:n个子('+idx+')).attr(“f”);

警报('i:='+i+'u:'+u+'f:'+f);尝试此操作,即从“GetFullImage()”中删除语音标记和括号


尝试此操作,即从“GetFullImage()”中删除语音标记和括号


您引用的是第n个孩子,而不是兄弟姐妹。这些图像都是彼此的兄弟姐妹,而不是一个位于下一个。我会将其提升一个级别,然后使用第n个孩子。或者只抓取:

$('.pics').children('img').length
作为阈值,然后使用:

$('.pics img:eq('+idx+')')

通过这种方式,您可以不断增加idx,直到达到限制,然后重置计数器。

您引用的是第n个孩子,而不是兄弟姐妹。这些图像都是彼此的兄弟姐妹,而不是一个位于下一个。我会将其提升一个级别,然后使用第n个孩子。或者只抓取:

$('.pics').children('img').length
作为阈值,然后使用:

$('.pics img:eq('+idx+')')

这样,您可以不断增加idx直到达到限制,然后重置计数器。

这是一个不错的建议,但与问题无关。Projapati调用setInterval的方式是有效的。第一个参数可以是函数引用或代码字符串。这不是一个坏建议,但与问题无关。Projapat的方式我正在调用的setInterval有效。第一个参数可以是函数引用或代码字符串。