ScrollableView的高度我使用Dojo Toolkit的1.7.2從http://ajax.googleapis.com/ajax/libs/dojo/1.7.2/dojo/dojo.js道場Tollkit - 內部對話
我需要顯示內部對話滾動(與幫助觸摸)的內容。另外,如果可能的話,我需要在對話框內的視圖之間進行轉換,例如在移動設備上。
我做什麼(簡化代碼版本):
如果我這樣做,對話儘量按照內容的整個高度。
下一個嘗試:
var dialog = new Dialog({
style: {
width: 600,
height: 400
}
});
或
dialog.resize({w: 600, h: 400});
現在對話已固定高度,但內ScrollableView實例不會滾動其內容的底部。
當我深入瞭解源代碼後,發現ScrollableView繼承自dojox/mobile/_ScrollableMixin,它繼承自dojox/mobile/scrollable。
resize()
dojox/mobile/scrollable的函數使用窗口高度來計算滾動功能。
有沒有實現我自己版本的ScrollableView時需要什麼的方法?
解決方案:
var dialogRect = domGeometry.getMarginBox(dialog.domNode);
var headerRect = domGeometry.getMarginBox(dialog.titleBar);
var containerNodePaddingTop = domStyle.get(dialog.containerNode, "paddingTop");
var containerNodePaddingBottom = domStyle.get(dialog.containerNode, "paddingBottom");
var viewHeight = dialogRect.h - headerRect.h - containerNodePaddingTop - containerNodePaddingBottom;
var view = new ScrollableView({
selected: true,
height: viewHeight.toString() + "px"
});
// or
// view.set("height", viewHeight.toString() + "px");
歐內斯特·弗裏德曼山:你好。禁止使用「==========」? – kostik
我敢打賭這是相關的:http://grokbase.com/t/dojo/dojo-checkins/115fx49dpw/dojo-12937-mobile-scrollable-view-doesnt-work-inside-tooltip-dialog – mschr
嘗試設置height屬性到'自動'? – mschr