Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在jQuery中一次生成多个div_Javascript_Jquery_Html_Css_Animation - Fatal编程技术网

Javascript 在jQuery中一次生成多个div

Javascript 在jQuery中一次生成多个div,javascript,jquery,html,css,animation,Javascript,Jquery,Html,Css,Animation,我正在尝试使用jquery制作一个游戏,其中子弹是使用函数附加的。到目前为止,每当我按下空格键时都会生成子弹,但我想生成3-5个堆叠的子弹。将生成3-5个项目符号,然后短暂中断,然后再次生成3-5个项目符号,并继续该过程。项目符号附加为div元素。这是代码 function generateBullet() { var Player = $('#player'); var PlayerLeft = Player.offset().left; var PlayerTop = Player.offs

我正在尝试使用jquery制作一个游戏,其中子弹是使用函数附加的。到目前为止,每当我按下空格键时都会生成子弹,但我想生成3-5个堆叠的子弹。将生成3-5个项目符号,然后短暂中断,然后再次生成3-5个项目符号,并继续该过程。项目符号附加为div元素。这是代码

function generateBullet() {
var Player = $('#player');
var PlayerLeft = Player.offset().left;
var PlayerTop = Player.offset().top - 50;
var appendingValue = "<div class='bulletID' style=' position: absolute; left: 250px; top: 250px;'></div>";
var appendSize = $('.bulletID').size();
if (appendSize >= 3) {
    $('#content').delay(5000).append(appendingValue);
} else {
    $('#content').append(appendingValue);
 }
}

function animateBullet() {
var bulletID = $('.bulletID');
bulletID.each(function () {
    var nowTop = $(this).offset().top;
    $(this).css("top", nowTop - 25);
 });
}

var keys = {}
$(document).keydown(function (e) {
keys[e.keyCode] = true;
});

$(document).keyup(function (e) {
delete keys[e.keyCode];
});

function shoot() {
var Player = $('#player');
for (var direction in keys) {
    if (!keys.hasOwnProperty(direction)) continue;
    if (direction == 32) {
        generateBullet();
    }
 }
}
JSFIDLE演示:

我不知道该怎么做了。我们将非常感谢你的帮助。TnQ.

试试看

我补充说

return false;
之后

if (appendSize >= 3) {
  ...

沸腾

要在项目符号离开屏幕时删除项目符号,请尝试

我补充说

return false;
之后

if (appendSize >= 3) {
  ...

沸腾


要在子弹离开屏幕时将其取出,您可以计算每条链条发射的子弹数,如果链条达到3-5颗子弹,则可以拦截枪。然后使用一个超时,你可以解锁枪。这样,您就可以控制子弹链之间的间隔:


你可以数一数你发射了多少子弹每链,并阻止枪,如果链达到3-5子弹。然后使用一个超时,你可以解锁枪。这样,您就可以控制子弹链之间的间隔:



id应该是唯一的$'bulletID'只返回第一个one@andrew,更新了JSFIDLE。请再说一遍!在空间压力机上会产生3-5发子弹,或者在空间保持时最多会产生3-5发子弹,然后是一个短发break@iceless3-5子弹将在空间保持最大,然后短暂休息。顺便考虑一下HTML5帆布游戏。它比使用jQuery操作DOM要好得多,运行更平滑,重量也更轻。你可以在网上找到很多例子:Good luckid's应该是唯一的$'bulletID'只返回第一名one@andrew,更新了JSFIDLE。请再说一遍!在空间压力机上会产生3-5发子弹,或者在空间保持时最多会产生3-5发子弹,然后是一个短发break@iceless3-5子弹将在空间保持最大,然后短暂休息。顺便考虑一下HTML5帆布游戏。它比使用jQuery操作DOM要好得多,运行更平滑,重量也更轻。你可以在网上找到很多例子:好运,这正是我想要的。有很多兄弟。我对jquery很感兴趣。没关系var appendSize=$'.bulletID'.size;将获得子弹的数量,但您需要删除元素。我认为这不是一个好的解决方案。因为你不能控制你不能射击的时间。你必须等到子弹飞到屏幕尽头消失,才能再次开火。@iceless这是一种快速而肮脏的解决方案,但是你可以在parseInt$this.csstop<0中更改0,如果你想让子弹更早被摧毁,如果你的玩家正在移动,那么很难实现,而且不是一个好的做法,我想是的,这正是我想要的。有很多兄弟。我对jquery很感兴趣。没关系var appendSize=$'.bulletID'.size;将获得子弹的数量,但您需要删除元素。我认为这不是一个好的解决方案。因为你不能控制你不能射击的时间。你必须等到子弹飞到屏幕尽头消失,才能再次开火。@iceless这是一种快速而肮脏的解决方案,但是你可以在parseInt$this.csstop<0中更改0,如果你想让子弹尽早被摧毁,如果你的玩家正在移动,这很难实现,而且不是一个好的做法,我想+1现在这就是我所想的,但是你实现得更快了:D.只需要添加子弹移除。+1现在这是我所想的,但是你实现得更快:D.只需添加删除的项目符号。