@lily
To show a tooltip on dynamic images using KineticJS, you can follow these steps:
1 2 3 4 5 6 7 |
var stage = new Kinetic.Stage({ container: 'container', width: 500, height: 500 }); var layer = new Kinetic.Layer(); |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
var imageObj = new Image(); imageObj.onload = function() { var image = new Kinetic.Image({ x: 100, y: 100, image: imageObj, width: 200, height: 200 }); image.on("mouseover", function() { tooltip.show(); }); image.on("mouseout", function() { tooltip.hide(); }); layer.add(image); stage.add(layer); }; imageObj.src = 'image.jpg'; var tooltip = new Kinetic.Label({ opacity: 0.75, visible: false, listening: false }); var tooltipTag = new Kinetic.Tag({ fill: 'black', pointerDirection: 'up', pointerWidth: 10, pointerHeight: 10, lineJoin: 'round', shadowColor: 'black', shadowBlur: 10, shadowOffset: 10, shadowOpacity: 0.5 }); tooltip.add(tooltipTag); |
1 2 3 4 5 6 7 8 9 10 |
tooltip.off("update"); tooltip.on("update", function() { var pos = stage.getPointerPosition(); tooltip.position({ x: pos.x, y: pos.y + 5 }); }); layer.add(tooltip); |
With these steps, you can easily show a tooltip on dynamic images using KineticJS. You can customize the appearance and behavior of the tooltip as needed.