Jquery元素互相依赖

时间:2014-10-08 17:22:28

标签: html jquery-animate

我一直在努力。显然,它使用键绑定动画和射击子弹。不幸的是,如果你向上或向下移动并且子弹正在前往目标,并且你向上或向下移动,子弹就会随你移动。与目标相同的情况。所以我看了css定位,我认为问题可能是不知何故创建的子弹被附加到播放器。我试图改变它们的位置,并改变子弹创建者代码以附加到身体。无济于事。

以下是我的链接:http://jsfiddle.net/5khhmepv/9/

以下是我认为是问题的创建者代码:

var shoot = function () {
    if (canshoot === true) {
        canshoot = false;
        bullety = 0;
        var div = $('<div class=' + 'bullet' + ' style=' + 'marginTop:-25;' + '>yt</div>');
        div.appendTo('html');
        div.animate({
            marginLeft: 500 + 'px'
        }, 1500);
        canshoot = false;
        setTimeout(function () {
            $(".bullet").hide();
            canshoot = true;
        }, 1500);
    }
};

2 个答案:

答案 0 :(得分:0)

通过将#player元素的位置设置为static,可以使文档的大小取决于播放器文档的下移距离。上下移动播放器会导致子弹根据其与文档高度的关系而移动。你可能想要做的是拥有一个固定大小的画布,绝对定位#player.bullet。不要忘记初始化子弹top以与玩家当前的scrollOffset保持一致。

答案 1 :(得分:0)

我对你的小提琴进行了一些快速调整,我认为它按预期工作。

http://jsfiddle.net/5khhmepv/28/

基本上你不应该像Palpatim解释的那样使用static作为位置值。