Q
代碼喜歡燈箱示例
1
A
回答
5
我一直在做一些Scrollview和GridLayout的工作。您可以根據contextSize和target/min單元格大小計算網格維度。
下面是一個讓你開始的例子。我基本上是在Scrollview中添加一個gridLayout作爲唯一的視圖。我知道這可能對滾動視圖有效的渲染工作,該滾動視圖將始終呈現整個網格,但我正是爲了這個例子。我在gridLayout周圍使用Modifier來確保總是計算視圖的大小,並且scrollview始終滾動正確的數量。所以無論如何,這裏是我做過什麼..
var Engine = require('famous/core/Engine');
var Surface = require('famous/core/Surface');
var RenderNode = require('famous/core/RenderNode');
var Modifier = require('famous/core/Modifier'); // edited
var Scrollview = require('famous/views/Scrollview');
var GridLayout = require('famous/views/GridLayout');
var context = Engine.createContext();
var scrollViews = [];
var scrollview = new Scrollview();
scrollview.sequenceFrom(scrollViews);
var gridCells = [];
var grid = new GridLayout();
grid.sequenceFrom(gridCells);
grid.mod = new Modifier();
var cellCount = 24;
var cellMinWidth = 200.0;
grid.mod.sizeFrom(function(){
var size = context.getSize();
var cellsX = Math.floor(size[0]/cellMinWidth);
var cellsY = Math.ceil(cellCount * 1.0/cellsX);
var cellHeight = size[0] * 1.0/cellsX;
grid.setOptions({dimensions:[cellsX,cellsY]});
return [undefined,cellsY*cellHeight];
});
grid.node = new RenderNode();
grid.node.add(grid.mod).add(grid);
for (var i = 0; i < cellCount; i++) {
var surface = new Surface({
size:[undefined,undefined],
properties: {
backgroundColor:'hsl('+(i*360/12)+',75%,50%)'
}
});
gridCells.push(surface);
surface.pipe(scrollview);
};
scrollViews.push(grid.node);
context.add(scrollview);
FWIW要真正最大限度地滾動型的效率,就需要有順序地渲染視圖列表。由於我們只在scrollview中渲染一個視圖,所以我們總是渲染所有內容。我想到了解決這個問題的一些方法,但都超出了範圍,就是這個例子。
你可以自己做可見性檢查,並基於scrollview的位置渲染節點。
您可以爲每一行創建一個gridLayout,然後使用列表操作技術管理每個網格中的單元格。
獎金:
如果你只想使用網格佈局只是爲了修飾,我發現使用_modifiers屬性,而有幫助的(注:僅提供部署後)。我能夠使用這種技術創建可重新排列的佈局。曲面都在網格佈局之外浮動,只能通過基於gridlayouts修改器的可拖動修改器進行定位。那這裏是工作演示..
http://higherorderhuman.com/examples/rearrangeable.html
希望這有助於!
相關問題
- 1. 打開燈箱喜歡圖像庫
- 2. 臉譜喜歡燈箱插件評論功能照片
- 3. 如何檢索Facebook的喜歡數量喜歡按鈕代碼
- 4. 在Facebook上顯示喜歡的喜歡數量喜歡按鈕
- 5. DartEditor不喜歡幽靈示例
- 6. Lucene.NET更多喜歡這個示例
- 7. Android中的幻燈片示例代碼
- 8. SQL不喜歡和喜歡
- 9. 喜歡但不喜歡
- 10. mySQL喜歡,但不喜歡
- 11. Facebook的喜歡按鈕:所有頁面顯示'0喜歡'或'{總數}喜歡'
- 12. Facebook喜歡計數器顯示網站喜歡不是文章水平喜歡
- 13. 原型燈箱不支持jquery代碼
- 14. Web代理喜歡Optimizely
- 15. Xpath查詢「喜歡」替代
- 16. BIGDECIMAL替代喜歡的StringBuilder
- 17. 試圖尋找替代喜歡而不喜歡(SQL)
- 18. 如何顯示喜歡/不喜歡的MySQL,NodeJS
- 19. 查詢你喜歡誰,誰喜歡你,相互喜歡?
- 20. Bootstrap navbar活動項目顯示border-bottom喜歡博客示例
- 21. 計數喜歡不喜歡和點擊
- 22. Jquery ajax喜歡和不喜歡按鈕
- 23. 喜歡不喜歡功能AJAX
- 24. 喜歡和不喜歡在同一列
- 25. 喜歡和喜歡的按鈕爲Drupal
- 26. 喜歡/不喜歡發行系統
- 27. 優化mysql查詢(喜歡/不喜歡)
- 28. 喜歡/不喜歡系統像FB
- 29. 製作Youtube喜歡/不喜歡Bot
- 30. Mysql喜歡或喜歡的地方
非常感謝。這個例子幫助了我很多。 我希望看到未編譯的rearrangeable.js – sclausen
當然..這是一個概念..但在這裏它是.. https://gist.github.com/john45traver/53649a9531f9d4a3b1a4 – johntraver
只是回頭看,儘量不介意額外要求!這是因爲我在同一個文件中有幾個其他示例。 – johntraver