1

如果我不将它放入函数但在函数内部不起作用,则此脚本正在运行。

请给我解释一下逻辑

    $(document).ready(function(){
       var active=$('.active');
       var index=$('#pics li').index(active);
       var maxindex=$('#pics li').length-1;

       function makeCircles(){
           for (var i=0;i<=maxindex;i++)
           {
               var $circle=$("<li>",{class:'circle'});
               $('#navCircles').append($circle);
           }
        }   
      });

makeCircles 函数中的代码未运行。但是,如果我删除函数并将这些行直接放在变量下面,它就可以正常工作......如下所示。

$(document).ready(function(){
var active=$('.active');
var index=$('#pics li').index(active);
var maxindex=$('#pics li').length-1;

    for (var i=0;i<=maxindex;i++)
    {
        var $circle=$("<li>",{class:'circle'});
        $('#navCircles').append($circle);
    }   
});

提前致谢。

4

3 回答 3

2

你忘了调用函数...

$(document).ready(function(){
   var active=$('.active');
   var index=$('#pics li').index(active);
   var maxindex=$('#pics li').length-1;

   (function makeCircles(){
       for (var i=0;i<=maxindex;i++)
       {
           var $circle=$("<li>",{class:'circle'});
           $('#navCircles').append($circle);
       }
    })();   
  });
于 2013-07-19T10:32:12.070 回答
0

你只定义了函数,你还需要执行它:

$(document).ready(function(){
   var active=$('.active');
   var index=$('#pics li').index(active);
   var maxindex=$('#pics li').length-1;

   function makeCircles(){ //define the function
       for (var i=0;i<=maxindex;i++)
       {
           var $circle=$("<li>",{class:'circle'});
           $('#navCircles').append($circle);
       }
    }   
    makeCircles(); //execute the function
  });
于 2013-07-19T10:32:28.157 回答
0
$(document).ready(function(){
   var active=$('.active');
   var index=$('#pics li').index(active);
   var maxindex=$('#pics li').length-1;

   function makeCircles(){ 
       for (var i=0;i<=maxindex;i++)
       {
           var $circle=$("<li>",{class:'circle'});
           $('#navCircles').append($circle);
       }
    }   
    makeCircles(); // call this function
});

请试试这个。

于 2013-07-19T10:33:56.563 回答