javascript - 使用触摸屏将图像拖放到 HTML5 上

标签 javascript html kineticjs drag

我有一个可以正常工作的脚本,显示图像,您可以拖放该图像。但我的问题是:如何添加更多图像?如果我复制相同的代码,它不会显示两个图像。

<script src="http://d3lp1msu2r81b...c-v5.0.2.min.js"></script>
<script defer="defer">
    function drawImage(imageObj) { 
        var stage = new Kinetic.Stage({
            container: "container",
            width: 800,
            height: 600
        });
        var layer = new Kinetic.Layer();

        // darth vader
        var darthVaderImg = new Kinetic.Image({
            image: imageObj,
            x: 100,
            y: 30,
            width: 40,
            height: 40,
            draggable: true
        });

        // add cursor styling
        darthVaderImg.on('mouseover', function() {
            document.body.style.cursor = 'pointer';
        });
        darthVaderImg.on('mouseout', function() {
            document.body.style.cursor = 'default';
        });

        layer.add(darthVaderImg);
        stage.add(layer);
    }

    var imageObj = new Image();
    imageObj.onload = function() {
        drawImage(this);
    };
    imageObj.src = 'adorno1.png';
</script>

最佳答案

function drawImage(imageObj) { 
    var stage = new Kinetic.Stage({
        container: "container",
        width: 800,
        height: 600
    });
    var layer = new Kinetic.Layer();

    // darth vader
    var darthVaderImg = new Kinetic.Image({
        image: imageObj,
        x: 0,
        y: 0,
        width: 100,
        height: 100,
        draggable: true
    });

            var darthVaderImg1 = new Kinetic.Image({
        image: imageObj1,
        x: 100,
        y: 100,
        width:100,
        height: 100,
        draggable: true
    });

    // add cursor styling
    darthVaderImg.on('mouseover', function() {
        document.body.style.cursor = 'pointer';
    });
    darthVaderImg.on('mouseout', function() {
        document.body.style.cursor = 'default';
    });

    layer.add(darthVaderImg);
    layer.add(darthVaderImg1);
    stage.add(layer);
}


var imageObj = new Image();    

var imageObj1 = new Image();

imageObj.onload = function() {
    drawImage(this);
      };

imageObj1.onload = function() {
    drawImage(this);
      };

imageObj.src='http://i.forbesimg.com/media/lists/companies/google_416x416.jpg '; imageObj1.src='http://i.forbesimg.com/media/lists/companies/google_416x416.jpg ';

这是您问题的答案 http://jsfiddle.net/ajayholla/71qrotzz/5/

关于javascript - 使用触摸屏将图像拖放到 HTML5 上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27215935/

相关文章:

javascript - 使用 AJAX 获取任何页面

HTML\CSS : change cell background for hover state with CSS

draw - Kinetic JS - 使用鼠标在线条的开头和结尾绘制箭头

javascript - 以编程方式运行时未找到 Node 依赖项

javascript - 选择一个类的所有 DOM 节点,除了 javascript 中的一个

Javascript - 数组连接到另一个

html - 为什么我的 webm 文件无法在 Firefox 中播放?

jquery - 水平滑动html内容

javascript - 性能问题 KineticJS

canvas - 如何使用 KineticJS 创建圆形剪辑?