<!DOCTYPE html> <html> <head> <script src="https://unpkg.com/[email protected]/konva.min.js"></script> <meta charset="utf-8" /> <title>Konva Shape Layering Demo</title> <style> body { margin: 0; padding: 0; overflow: hidden; background-color: #f0f0f0; } #buttons { position: absolute; left: 10px; top: 0px; } button { margin-top: 10px; display: block; } </style> </head> <body> <div id="container"></div> <div id="buttons"> <button id="toTop">Move yellow box to top</button> <button id="toBottom">Move yellow box to bottom</button> <button id="up">Move yellow box up</button> <button id="down">Move yellow box down</button> <button id="zIndex">Set yellow box zIndex to 3</button> </div> <script> var width = window.innerWidth; var height = window.innerHeight;
var stage = new Konva.Stage({ container: 'container', width: width, height: height, });
var layer = new Konva.Layer(); var offsetX = 0; var offsetY = 0; var colors = ['red', 'orange', 'yellow', 'green', 'blue', 'purple']; var yellowBox = null;
for (var n = 0; n < 6; n++) { (function () { var i = n; var box = new Konva.Rect({ x: i * 30 + 210, y: i * 18 + 40, width: 100, height: 50, fill: colors[i], stroke: 'black', strokeWidth: 4, draggable: true, name: colors[i], });
box.on('mouseover', function () { document.body.style.cursor = 'pointer'; }); box.on('mouseout', function () { document.body.style.cursor = 'default'; }); if (colors[i] === 'yellow') { yellowBox = box; } layer.add(box); })(); }
stage.add(layer);
document.getElementById('toTop').addEventListener( 'click', function () { yellowBox.moveToTop(); }, false );
document.getElementById('toBottom').addEventListener( 'click', function () { yellowBox.moveToBottom(); }, false );
document.getElementById('up').addEventListener( 'click', function () { yellowBox.moveUp(); }, false );
document.getElementById('down').addEventListener( 'click', function () { yellowBox.moveDown(); }, false );
document.getElementById('zIndex').addEventListener( 'click', function () { yellowBox.setZIndex(3); }, false ); </script> </body> </html>
|