123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8">
- <title>Blockly Demo: Resizable Blockly (Part 2)</title>
- <script src="../../blockly_compressed.js"></script>
- <script src="../../blocks_compressed.js"></script>
- <script src="../../msg/js/en.js"></script>
- <style>
- html, body {
- height: 100%;
- margin: 0;
- }
- body {
- background-color: #fff;
- font-family: sans-serif;
- overflow: hidden;
- }
- h1 {
- font-weight: normal;
- font-size: 140%;
- }
- table {
- height: 100%;
- width: 100%;
- }
- #blocklyArea {
- height: 99%;
- }
- </style>
- </head>
- <body>
- <table>
- <tr>
- <td>
- <h1><a href="https://developers.google.com/blockly/">Blockly</a> >
- <a href="../index.html">Demos</a> > Resizable Blockly (Part 2)</h1>
- <p>
- Once an <a href="index.html">area is defined</a>, Blockly can be
- injected and positioned over the area.
- A resize handler keeps it in position as the page changes.
- </p>
- <p>→ More info on <a href="https://developers.google.com/blockly/guides/configure/web/resizable">injecting resizable Blockly</a>…</p>
- </td>
- </tr>
- <tr>
- <td id="blocklyArea">
- </td>
- </tr>
- </table>
- <div id="blocklyDiv" style="position: absolute"></div>
- <xml id="toolbox" style="display: none">
- <block type="controls_if"></block>
- <block type="logic_compare"></block>
- <block type="controls_repeat_ext"></block>
- <block type="math_number"></block>
- <block type="math_arithmetic"></block>
- <block type="text"></block>
- <block type="text_print"></block>
- </xml>
- <script>
- var blocklyArea = document.getElementById('blocklyArea');
- var blocklyDiv = document.getElementById('blocklyDiv');
- var workspace = Blockly.inject(blocklyDiv,
- {media: '../../media/',
- toolbox: document.getElementById('toolbox')});
- var onresize = function(e) {
- // Compute the absolute coordinates and dimensions of blocklyArea.
- var element = blocklyArea;
- var x = 0;
- var y = 0;
- do {
- x += element.offsetLeft;
- y += element.offsetTop;
- element = element.offsetParent;
- } while (element);
- // Position blocklyDiv over blocklyArea.
- blocklyDiv.style.left = x + 'px';
- blocklyDiv.style.top = y + 'px';
- blocklyDiv.style.width = blocklyArea.offsetWidth + 'px';
- blocklyDiv.style.height = blocklyArea.offsetHeight + 'px';
- };
- window.addEventListener('resize', onresize, false);
- onresize();
- Blockly.svgResize(workspace);
- </script>
- </body>
- </html>
|