2012-02-03 1 views
0

私の人生はわかりません。なぜなら、次のクリックをクリックして次のボタンをクリックすると、関数を呼び出すと、一度のインスタンスでは動作しますが、別のインスタンスでは動作しません。

$ slideNumberは1 2 3または4の値を持ちますが、これは私に警告を使用して知らせています。

基本的にはrotate()をトリガーしません。 2番目のもので

クリック数は1つが完全に動作します。

//Paging + Slider Function 
rotate = function() { 

    var triggerID = $slideNumber - 1; //Get number of times to slide 
    var image_reelPosition = triggerID * divWidth; //Determines the distance the image reel needs to slide 


    //Slider Animation 
    $(".image_reel").animate({ 
     left: -image_reelPosition 
    }, 500); 
}; 

//click on numbers (this one works) 
$(".paging a").click(function() { 
    $active = $(this); //Activate the clicked paging 
    $slideNumber = $active.attr("rel"); 
    rotate(); //Trigger rotation immediately 
    return false; //Prevent browser jump to link anchor 
}); 



//click on next button (this one does not work) 
$('#next').click(function() { 
    var left_indent = parseInt($('.image_reel').css('left')) - divWidth; 
    var slideNumberOn = (left_indent/divWidth); 
    var slideNumber = ((slideNumberOn * -1) + 1); 
    $slideNumber = slideNumber; 
    rotate(); //Trigger rotation immediately 
    return false; //Prevent browser jump to link anchor 
}); 

HTML:divWidth$slideNumber#nextクリックハンドラ内で定義されている

<div class="paging"> 
       <a href="#" rel="1">one</a> 
       <a href="#" rel="2">two</a> 
       <a href="#" rel="3">three</a> 
       <a href="#" rel="4">for</a> 
      </div> 

      <div class="nav"> 
       <a id="prev" class="active" href="#">prev</a> 
       <a id="next" class="active" href="#">next</a> 
      </div> 
+0

1)動作していないインスタンスが呼び出されており、2) '$ slideNumber'が正しい値を保持していることを確認できますか? – Dutchie432

+2

グローバル変数を使って作業することは、ほとんど常に悪い考えです。パラメータとして '$ slideNumber'と' divWidth'を渡すべきです。 –

+1

機能しないと、関数が呼び出されないという意味ですか?次のボタンのhtmlはどのように見えますか? –

答えて

1

2番目のクリック機能が途中でエラーになっているようです。関数の先頭にステートメントを入れてみてください。あなたがそれらを置くことができれば、1つが印刷され、次のエラーが出る場合、あなたはバグがどこにあるかを発見しました。

+0

が問題が何であるかを完全に知るために必要な値を警告します。基本的にいくつかのコードは$ active.attr( "rel")を探していました。 2回目のクリックにこれがないと実行されません – odd

0

?そのため、エラーをスローし、実行する次のステートメントに到達することはありません。

+0

これらは私のコードの上に設定されています。$ slideNumberは、この場合1,2,3または4 – odd

関連する問題