2011-08-08 17 views
0

をunderfinedされ、私は、スクリプトを次のようしている:私はそれを実行するとjQueryのは - VARは

$('.news ul li').hide(); 
    $('.news ul li:first-child').show(); 


    function Roller() { 
     var CurrectNews = $('.news ul li').filter(':visible'); 
     var FirstNews = $('.news ul li:first-child'); 

     if ($(CurrectNews).is(':last-child')){  
       $(CurrectNews).fadeOut('slow'); 
       $(FirstNews).fadeIn('slow'); 
      } else { 
       $(CurrentNews).fadeOut('slow'); 
       $(CurrentNews).next().fadeIn('slow');    
     } 
    } 
    setInterval(Roller, 5000); 

、放火犯はCurrentNews is underfindedと言っています。どうして?

私が$('.news ul li').filter(':visible');を見ると、期待通りに1要素が見つかります。

ご迷惑をおかけして申し訳ございません。

+3

「CurrentNews」と「CurrectNews」を自由に切り替えているようです。それは問題かもしれません。 –

+0

@フレデリックハミディ - いつも小さなもの!ご迷惑おかけして申し訳ありません。 – Iladarsda

答えて

4

は、スペルチェック:

CurrectNews 
    ^

CurrentNews 
    ^

を...別の変数名です。

+0

はコメントになる可能性があります:/ – jAndy

+1

これは質問にも答えていますか? –

+0

@jAndy - なぜですか?それは質問に答える。変数は定義されていません。なぜなら、Dogbertがそれを定義しようとしたとき、彼はそれをミスペルトしたからです。 – Quentin

1

それはあなたがタイプミスを有することができる表示されます。

if ($(CurrectNews).is(':last-child')){  
      $(CurrectNews).fadeOut('slow'); 
      $(FirstNews).fadeIn('slow'); 
     } else { 
      $(CurrentNews).fadeOut('slow'); 
      $(CurrentNews).next().fadeIn('slow');    
    } 

CurrentNewsの最初の2つのインスタンスは実際CurrectNewsです。クエンティンは最初そこに着いた:)

2

をあなたはそこにいくつかの誤植を持っている:これは問題

EDITを引き起こす可能性があります。お試しください

function Roller() { 
    var CurrentNews = $('.news ul li').filter(':visible'); 
    var FirstNews = $('.news ul li:first-child'); 

    if (CurrentNews.is(':last-child')){  
      CurrentNews.fadeOut('slow'); 
      FirstNews.fadeIn('slow'); 
     } else { 
      CurrentNews.fadeOut('slow'); 
      CurrentNews.next().fadeIn('slow');    
    } 
} 
+3

それに加えて、変数の再ラッピングを取り出します。 jQueryオブジェクトの別のjQueryオブジェクトを作成する必要はありません。 – Shef

+0

@Shef、ああ、気づかなかった。一定。 – Dogbert

+0

@シェフ - 再ラッピング?あなたはどうか説明してください。 – Iladarsda

関連する問題