Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/82.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
如何在jQuery中执行数组_Jquery_Html - Fatal编程技术网

如何在jQuery中执行数组

如何在jQuery中执行数组,jquery,html,Jquery,Html,我是jQuery新手,我想创建一个要执行的数组,所以我创建了一个相同div类的数组 <div class="block"><img src="/home/ranjit/Desktop/Test/sunrise1.jpg" alt="sunset" /></div> <div class="block"><img src="/home/ranjit/Desktop/Test/sunset-sailing.jpg" alt="sunset1" /

我是jQuery新手,我想创建一个要执行的数组,所以我创建了一个相同div类的数组

<div class="block"><img src="/home/ranjit/Desktop/Test/sunrise1.jpg" alt="sunset" /></div>
<div class="block"><img src="/home/ranjit/Desktop/Test/sunset-sailing.jpg" alt="sunset1" /></div>
现在我想运行这个函数

function slider() {
    for (var i= 0; i < len; i++){
      console.log(matches[i]);
      jQuery(matches[i]).show("slow");
      jQuery(matches[i]).animate({left:'+=730'}, 3000, function(){
        jQuery(this).animate({left:'-=730'},3000);
      });
    }
  }
函数滑块(){
对于(变量i=0;i

当我调用slider函数时,它只执行最后一个div。为什么我不知道,但我认为它应该先逻辑地执行第一个div,然后执行第二个div。请帮助我为什么不这样执行。

您的for循环有
i
,但您没有在任何地方定义
len

您可能需要
i

作为for循环的替代方法,使用

另一个潜在的问题是需要对动画效果进行排队。发件人:

队列:一个布尔值,指示是否将动画放置在效果队列中。如果为false,动画将立即开始。从jQuery1.7开始,queue选项还可以接受字符串,在这种情况下,动画将添加到由该字符串表示的队列中


for循环有
i
,但您没有在任何地方定义
len

您可能需要
i

作为for循环的替代方法,使用

另一个潜在的问题是需要对动画效果进行排队。发件人:

队列:一个布尔值,指示是否将动画放置在效果队列中。如果为false,动画将立即开始。从jQuery1.7开始,queue选项还可以接受字符串,在这种情况下,动画将添加到由该字符串表示的队列中


如果你只是想立即在它们上面循环,那么将它们放入一个数组是没有意义的。实际上<代码>$('.block')
的行为已经像一个数组,所以您所做的是完全冗余的。如果你真的需要的话,就把它分配给一个变量。如果你只是想立即循环它们,那么把它们放入数组就没有意义了。实际上<代码>$('.block')
的行为已经像一个数组,所以您所做的是完全冗余的。如果确实需要,只需将其分配给变量即可。是的,我使用len作为len=matches.length;但是jQuery.each函数不是我想要的那样工作。我希望在for循环条件满足true时首先执行第一个div,然后执行第二个div。您可能需要对动画进行排队。请参阅我对上述答案的编辑。是的,我使用len作为len=matches.length;但是jQuery.each函数不是我想要的那样工作。我希望在for循环条件满足true时首先执行第一个div,然后执行第二个div。您可能需要对动画进行排队。请参阅我对以上答案的编辑。
function slider() {
    for (var i= 0; i < len; i++){
      console.log(matches[i]);
      jQuery(matches[i]).show("slow");
      jQuery(matches[i]).animate({left:'+=730'}, 3000, function(){
        jQuery(this).animate({left:'-=730'},3000);
      });
    }
  }