【问题标题】:Randomly remove image from game space without using class in JavaScript/jQuery在不使用 JavaScript/jQuery 中的类的情况下从游戏空间中随机删除图像
【发布时间】:2017-12-04 21:55:25
【问题描述】:

我试图让鼹鼠(https://jsfiddle.net/JennyF/s4rteuks/13/ 中的小方块)从#gamespace 中随机消失,如果它们没有被点击的话。它们随机出现在 0 - 2 秒之间。该游戏在 Firefox 上运行,但在包括我的尝试时未解决此问题,但在 JSFiddle 中无法运行。

      function addMole(){
        xPos=randPosX();
        yPos=randPosY();
        $("#gamespace").append('<img src="img/mole.png" style="top:'+xPos+'px; left:'+yPos+'px;" />');
        var r=Math.floor(Math.random()*(2000));
        t=setTimeout("addMole();", r);
        var count=0;
        setTimeout("remove()", 1000);
        function remove(){
            $("#gamespace").append("<img id='img"+count+"'></img>");
            count++;
            setTimeout("remove()", 1000);
        };
    };//end mole

我的导师告诉我们不要使用class,并给了我们这个例子。显然,我想fadeOut 而不是添加任何东西。而且我没有任何&lt;p&gt; 标签。我只是不知道用什么来代替他们。或者如果我完全搞砸了。

var count=0;
setTimeout("add()", 1000);
function add(){
$("div#div1").append("<p id='p"+count+"'></p>");
count++;
  setTimeout("add()", 1000);}

【问题讨论】:

  • 通过减少元素的不透明度属性来实现淡出
  • 我尝试将其更改为remove,但没关系。
  • 只是想指出,在您的删除功能中,您的 img 标签以 &lt;/imag&gt; 而不是 &lt;/img&gt; 结束
  • 谢谢,我刚刚在这里编辑过,这不是我的文本编辑器上的。
  • 天啊,这个问题有那么糟糕吗?我尝试了各种方法无济于事。请至少告诉我如何解决这个问题?

标签: javascript jquery image random fadeout


【解决方案1】:

好吧,这是更正后的代码和我的 jsfiddle https://jsfiddle.net/JennyF/s4rteuks/14/,虽然它不起作用,但它在我的程序中起作用。我不知道我在 jsfiddle 做错了什么。我完全复制了所有内容并附加了正确的 jQuery 库。

    function addMole(){
        if (time_left >0){
            xPos=randPosX();
            yPos=randPosY();
            $("#gamespace").append('<img id='+count+' src="img/mole.png" style="top:'+xPos+'px; left:'+yPos+'px;" />');
            var f='#'+count;
            count++;                
            $("#gamespace").find(f).delay(1500).fadeOut();
            var r=Math.floor(Math.random()*(2000));
            t=setTimeout("addMole();", r);
            }else{
                clearTimeout(t);
                $("#gamespace").off("click", "img");
            };//end if
    };//end mole

【讨论】:

  • 您的代码没有删除 img,它只是将不透明度/显示设置为不占用空间(它实际上不可见,但是仍然在 DOM 中)。
  • 我只是把它改成了小提琴,因为我不知道如何在我的游戏中添加 jQueryUI,它是 .effect("explode") ....哦,你说的是 .fadeOut() 。我不知道这就是我们为这个项目所做的一切。它们在淡出后不可点击。这是我的第一个项目。
猜你喜欢
  • 2011-06-05
  • 1970-01-01
  • 2010-09-17
  • 2020-11-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-07
相关资源
最近更新 更多