DIR : /home/kozerus/public_html/go/konva_select.html

/home/kozerus/public_html/go

Konva Select Shape by id Demo
view raw

<!DOCTYPE html>
<html>
  <head>
    <script src="https://unpkg.com/konva@8.3.1/konva.min.js"></script>
    <meta charset="utf-8" />
    <title>Konva Select Shape by id Demo</title>
    <style>
      body {
        margin: 0;
        padding: 0;
        overflow: hidden;
        background-color: #f0f0f0;
      }

      #buttons {
        position: absolute;
        top: 5px;
        left: 10px;
      }

      #buttons > input {
        padding: 10px;
        display: block;
        margin-top: 5px;
      }
    </style>
  </head>

  <body>
    <div id="container"></div>
    <div id="buttons">
      <input type="button" id="activate" value="Activate rectangle" />
    </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();
      for (var n = 0; n < 10; n++) {
        var circle = new Konva.Circle({
          x: Math.random() * stage.width(),
          y: Math.random() * stage.height(),
          radius: Math.random() * 50 + 25,
          fill: 'red',
          strokeWidth: 3,
          stroke: 'black',
        });

        layer.add(circle);
      }

      var rect = new Konva.Rect({
        x: 300,
        y: 90,
        width: 100,
        height: 50,
        fill: 'green',
        strokeWidth: 3,
        offset: {
          x: 50,
          y: 25,
        },
        draggable: true,
        id: 'myRect',
      });

      layer.add(rect);
      stage.add(layer);

      var tween;

      document.getElementById('activate').addEventListener(
        'click',
        function () {
          // or var shape = stage.findOne('#myRect');
          var shape = stage.find('#myRect')[0];

          if (tween) {
            tween.destroy();
          }

          tween = new Konva.Tween({
            node: shape,
            duration: 1,
            scaleX: Math.random() * 2,
            scaleY: Math.random() * 2,
            easing: Konva.Easings.ElasticEaseOut,
          }).play();
        },
        false
      );
    </script>
  </body>
</html>
//


koh5_pano



Your browser does not support the HTML5 canvas element.


Drag mouse to navigate.

Navigation





17.Aug.2010, Martin Wengenmayer