2010-12-03 1 views
0

ソースを読み込むことができませんでした:)slideSwitch(と関数が定義されていない、私はこのjQueryのコードを持ってjQueryの

$(document).ready(function() { 
      function slideSwitch() { 
       var $active = $('#slideShow IMG.active'); 

       if ($active.length == 0) $active = $('#slideShow IMG:last'); 

       var $next = $active.next().length ? $active.next() 
        : $('#slideShow IMG:first'); 

       $active.addClass('last-active'); 

       $next.css({opacity: 0.0}) 
        .addClass('active') 
        .animate({opacity: 1.0}, 1000, function() { 
         $active.removeClass('active last-active'); 
        }); 
      } 


       setInterval("slideSwitch()", 5000); 

     }); 

そしてエラーが定義されていません?何か案は?

答えて

5

setIntervalの文字列を使用すると、windowオブジェクトのスコープ内で評価され、関数を別の関数でローカルに宣言したため、グローバルには使用できません。

だけではなく、関数を呼び出すコードを持つ文字列の関数名を使用します。

window.setInterval(slideSwitch, 5000); 

これは、文字列の代わりに関数への参照を渡しますので、の名前に依存しませんそれが呼び出されたときの関数。

0

準備完了イベントの外で関数を宣言してください。構文的に間違っているとは思わないが、そのスコープ内でその関数を見つけることができないかもしれない。