2012-09-26 75 views
-1

這裏是CODE我正在面臨的問題。下一個功能第一次不能工作

讓我簡單地解釋一下問題。 html代碼包含許多幻燈片,這樣當按下箭頭鍵和鼠標滾動時,幻燈片會前後移動。

問題是第一次按下方向鍵時,它內部的下一個功能不起作用。

但是,當我使用滾動下一個功能開始執行,然後當我點擊左箭頭它的工作。

但它不是第一次工作。這是什麼問題?我該如何解決它?

這裏是下一個功能:

next: function() { 
      if (!this._slides[this.current-1].buildNext()) { 
       this.current = Math.min(this.current + 1, this._slides.length); 
       this._update(); 
      } 

這裏是它被稱爲代碼:

handleWheel: function(e) { 
      var delta = 0; 
      if (e.wheelDelta) { 
       delta = e.wheelDelta/120; 
       if (isOpera) { 
       delta = -delta; 
       } 
      } else if (e.detail) { 
       delta = -e.detail/3; 
      } 

      if (delta > 0) { 
       this.prev(); 
       return; 
      } 
      if (delta < 0) { 
       this.next(); 
       return; 
      } 
      }, 
      handleKeys: function(e) { 
      if (/^(input|textarea)$/i.test(e.target.nodeName) || 
       e.target.isContentEditable) { 
       return; 
      } 
      switch (e.keyCode) { 
       //case 37: // left arrow 
       //this.prev(); break; 
       case 39: // right arrow 
       case 32: // space 
       this.next(); break; 
       case 50: // 2 
       this.showNotes(); break; 
       case 51: // 3 
       this.switch3D(); break; 
      } 
      } 
+1

爲什麼在他已經提供了問題本身的實況樣本時這麼多的反對票? –

+0

@Mithun謝謝。我自己解決了。 –

回答

2

這是如果條件是問題

next: function() { 
       if (!this._slides[this.current-1].buildNext()) { 
        this.current = Math.min(this.current + 1, this._slides.length); 
        this._update(); 
       } 
} 
代碼

這是可以正常工作的編輯好的代碼

next: function() { 

       this.current = Math.min(this.current + 1, this._slides.length); 
       this._update(); 
      }