2012-02-24 26 views

答えて

2

ありtabPositionプロパティ(のみtopbottomleft-hright-h)にはそのようなオプションはありませんが、あなたはこれを達成するためのJavaScriptの数行必要があります:http://jsfiddle.net/phusick/aGCFs/enter image description here

がjsFiddleでアクションのコードを参照してください。

私が持っていた最初のアイデアは、タブdomNodesがwidthが50000pxの上にあるので、タブは表示されませんdivの子であるため、text-align:rightでタブを整列するdijitのCSSを上書きするが、それは動作しませんでした。この問題を解決するには、同様にタブコンテナが(dojo.connect経由)サイズが変更されるたびにleftプロパティを設定する必要があります。それは確かにいくつかの微調整を必要とする

var alignTabs = function(tabContainer) { 
    var tabListNode = tabContainer.tablist.domNode; 
    var tabStripNode = dojo.query("div.nowrapTabStrip", tabListNode)[0]; 

    var tabListCoords = dojo.coords(tabListNode); 
    var tabStripCoords = dojo.coords(tabStripNode); 

    var tabStripLeft = (-tabStripCoords.w + tabListCoords.w) + "px"; 

    dojo.style(tabStripNode, "textAlign", "right"); 
    dojo.style(tabStripNode, "left", tabStripLeft); 
} 

var tabContainer1 = dijit.byId("tabContainer1"); 
alignTabs(tabContainer1); 

dojo.connect(tabContainer1, "resize", function() { 
    alignTabs(tabContainer1);    
}); 

を、あなたのアイデアを持っています。これは、私は彼らがで機能を焼くために(dojo.extend || dojo.mixin経由)TabContainer & TabControllerクラスをサブクラス化するか、拡張を示唆しているだけでアドホックコードである。

また、私はこれがないかどうかテストしていないことに、注意してくださいすべてのタブが単一の行に収まるわけではない場合は、ScrollingTabControllerの機能を無効にしません。

関連する問題