javascript - KineticJS 移动或删除图层中的圆

标签 javascript kineticjs

我希望有人能帮助我。

我是JS新手,所以还缺乏很多理解。但这个简单代码的问题是,我只想在图层中看到一个圆圈。

如何根据从列表中获得的坐标移动圆?

   <script type="text/javascript"  src="http://code.jquery.com/jquery-1.8.2.min.js">
    $(document).one('mobileinit', function () {

        // Setting #container div as a jqm pageContainer
        $.mobile.pageContainer = $('#container');

        // Setting default page transition to slide
        $.mobile.defaultPageTransition = 'slide';

        $('#data-role ul').on('click', function () {
            alert($(this).html());
        });
    });

</script>

<script  type="text/javascript" >
    function placering(x, y) {
        alert(x + " UPS  " + y);
    }
</script>

选择一些东西 A 乙 C
<script>

    var stage = new Kinetic.Stage({
        container: 'topContainer',
        width: 320,
        height: 800
    });

    var layerPlacering = new Kinetic.Layer();


    function spotOn(x1, y1) {
        var moedeSted = new Kinetic.Circle({
            x: x1,
            y: y1,
            radius: 10,
            fill: 'red',
            stroke: 'black',
            strokeWidth: 0
        });

        layerPlacering.add(moedeSted);
        stage.add(layerPlacering);
    }
</script>

<script type="text/javascript">
    $('#liste').on('click', 'li', function () {
        layerPlacering.clear();
        var test1 = $(this).attr('val1');
        var test2 = $(this).attr('val2');

        spotOn(test1, test2)
    });
</script>

最佳答案

<script>

    var stage = new Kinetic.Stage({
        container: 'topContainer',
        width: 320,
        height: 800
    });

    var layerPlacering = new Kinetic.Layer();

    // remove the function    
    var moedeSted = new Kinetic.Circle({
            x: 0,
            y: 0,
            radius: 10,
            fill: 'red',
            stroke: 'black',
            strokeWidth: 0
        });
        moedeSted.hide(); // just hide it to start with since you do not know the position where to show    
        layerPlacering.add(moedeSted);
        stage.add(layerPlacering);
</script>

<script type="text/javascript">
    $('#liste').on('click', 'li', function () {
        layerPlacering.clear();
        var test1 = $(this).attr('val1');
        var test2 = $(this).attr('val2');

        moedeSted.setPosition(test1, test2); // <---- Change here
        moedeSted.show(); // if this is the first call, it will make the hidden ring visible, no change otherwise
        layerPlacering.draw();
    });
</script>

关于javascript - KineticJS 移动或删除图层中的圆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20315645/

相关文章:

javascript - gmap3 在信息窗口中显示地址

javascript - 使用 mousemove 绘制形状,使用 kineticjs 拖放和调整大小- KineticJS

javascript - 为什么以下函数没有选择该指令内的所有复选框?

javascript - Kinetic.js 获取具有颜色变化的形状命中区域

javascript - KonvaJS:event.preventDefault 不是函数

html - KineticJS 中各层之间的交换

javascript - 了解在 Kinetic.JS 中放置图像?

javascript - 如何获取选定的文本,但我可以在 javascript 中获取周围的上下文吗?

javascript - Array .map() 返回 HTML [object Object]

javascript - 现代版本 EXT JS 6.2.0 中的 loadRecord() 方法