2013-04-04 182 views
3

我想KineticJS,看看這個例子:KineticJS:設置寬度基於百分比

var stage = new Kinetic.Stage({ 
    container: 'container', 
    width: 500, 
    height: 200 
}); 

我的問題是如何根據百分比來設置寬度。我想要這樣的東西:

var stage = new Kinetic.Stage({ 
    container: 'container', 
    width: 100%, 
    height: 200 
}); 

任何機會?謝謝!

回答

5

百分比值不起作用(我試過了)。當你在JavaScript的工作,你可以很容易地獲取窗口的寬度和計算佔用的空間要求的比例所需要的像素數:

var stage = new Kinetic.Stage({ 
    container: 'container', 
    width: (window.innerWidth/100) * 80, // 80% width of the window. 
    height: 200 
}); 

如果要調整階段,當窗口調整大小後,您可以使用window.onresize事件。

window.onresize = function(event) { 
    stage.setWidth((window.innerWidth/100) * 80); // 80% width again 
} 

JSFiddle of resize code

+0

是,這是一個解決方案加載窗口時,但我想要的東西,比如CSS 100%(自動調整)。 – 2013-04-04 15:25:41

+0

已編輯我的答案。 – 2013-04-04 15:43:44

+0

知道這一點,但我擔心與此表現。看起來KineticJS不支持它。使用基於px的大小將畫布添加到DOM – 2013-04-04 15:50:21