【问题标题】:Shooting Targets: On mouse click -> Leave Bullet Hole.gif射击目标:点击鼠标 -> 离开弹孔.gif
【发布时间】:2016-03-26 23:27:29
【问题描述】:

我的网站上有一个部分,其中有几个目标供访问者点击射击。我在该部分使用cursor: crosshair。我想这样当我的访问者点击目标部分中的任何地方时,我想留下一个动画bullet_hole.gif

我猜代码的命令将在 div 容器内单击鼠标单击在单击位置处创建 div,然后在 5 秒后删除 div

如何编写 javascript/jQuery 代码来执行此操作?

【问题讨论】:

    标签: javascript jquery onclick targets aim


    【解决方案1】:

    要获取容器内的单击位置,您可以从传递给 jQuery 单击处理程序的事件对象中获取 offsetXoffsetY 属性。然后,您可以在该位置创建一个绝对定位的div,其中包含要显示的弹孔图像。从那里您可以使用计时器在 5 秒后删除该 div。像这样的:

    $('#target').click(function(e) {
        $('<div />').addClass('bullet-hole').css({
            top: e.offsetY - 5,
            left: e.offsetX - 5
        }).appendTo('#target');
        setTimeout(removeBulletHole, 5000);
    });
    
    function removeBulletHole() {
        $('#target .bullet-hole:not(:animated):first').fadeOut(function() {
            $(this).remove();
        });
    }
    

    Example fiddle

    【讨论】:

    • 我复制了你的代码,但它不起作用。我复制了 .bullet-hole 样式并将其粘贴到我的 css 样式表中 我复制了 javascript 并将其粘贴到我的 header.php 在 标签内我将 #target 更改为 #workcontainer哪个是#DIV id - 我想要弹孔,但它仍然无法在我的网站上运行。我不知道为什么 www.prismasites.com 向下滚动直到看到目标
    猜你喜欢
    • 2017-12-29
    • 2021-08-06
    • 1970-01-01
    • 1970-01-01
    • 2018-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多