Jquery脚本没有在函数内部运行

时间:2013-07-19 10:29:25

标签: javascript jquery

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

请向我解释逻辑

    $(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);
    }   
});

提前致谢。

3 个答案:

答案 0 :(得分: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);
       }
    })();   
  });

答案 1 :(得分: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
  });

答案 2 :(得分: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
});

请试一试。