0

私の angularjs アプリケーションには、約 23 個のタブがあります。、および幅とアイコン90%を使用してタブに指定した幅です。各タブには幅があります。そのため、デフォルトでは 5 ページのタブが表示されます。をクリックすると、5つのタブを左にスクロールしたいだけです。このように、最後のタブが表示されるまで続けます。したがって、アイコンクリックイベントでは、コントローラーで次のようなことを実行して、最大スクロールを左に移動してから使用しようとしていますが、コード では返されます。overflow : hidden10%PrevNext36pxNextNextmaxScrollLeftNaN

 _self.getNextTabs = function () {            
          var maxScrollLeft = $element.scrollWidth - $element.clientWidth; 
          alert(maxScrollLeft);
          angular.element(document.querySelector('.main_tabSet .nav-tabs')).scrollLeft(600);    
        }

ここでは.scrollLeft(600);、テスト目的でハードコーディングしたので、 をクリックするNextと、タブが左にスクロールします。しかし、左の最大スクロールと占有されているタブの数に基づいて、このスクロールが正しく機能するようにしたいと考えています。誰でもそれを修正するのを手伝ってもらえますか。

4

1 に答える 1

1

_self.getNextTabs がディレクティブ、コントローラー、またはその他の場所にあるかどうかはわかりませんが、$element という名前は (私にとって) ディレクティブ内にある可能性があることを示していますか?

もしそうなら、 $element は jquery オブジェクトかもしれないと思います。AND - その場合は、構文などを使用する必要があります$element[0].scrollWidth...

_self.getNextTabs = function () {            
   var maxScrollLeft = $element[0].scrollWidth - $element[0].clientWidth; 
   angular.element(document.querySelector('.main_tabSet .nav-tabs')).scrollLeft(600);    
}
于 2016-01-19T15:48:18.833 に答える