2016-01-22 62 views
0

这是我作为例如JavaScript的举动NextSibling格偏差:
https://jsfiddle.net/nerdkal/txmonrkf/而计数器结束

我的代码: 找到下一个兄弟,让一个兄弟(ID,上,左)动画,并它确实如此。但是,我不能做的动作,直到“跳跃”达到0跳。

这就是我想要的举动:

#box { 
    top: 60px; left: 76px;width: 33px; height: 29px; position: absolute; background-color: yellow; z-index:1; 
} 

这部分我有什么:

$(document).ready(function(){ 
    var jumps = 2; 

    var start = document.getElementById("start").id; 
    var prevhouse = document.getElementById(start).previousElementSibling.innerHTML; 
    var nexthouse = document.getElementById(start).nextElementSibling.innerHTML; 

    var nexthouseX = 121; 
    document.getElementById(nexthouse).offsetTop; 
    var nexthouseY = 40; 
    document.getElementById(nexthouse).offsetLeft; 

$("button").click(function(){ 
     $('#box').animate({left: nexthouseX +'px', top: nexthouseY +'px'},1500); 
     start = document.getElementById(start).nextElementSibling.innerHTML; 
     jumps--; 
     $('#result').html("jumps: " + jumps + "<br>"+ start); 
     }); 
     $('#result').html("jumps: " + jumps +"<br>"+ start); 

}); 

的#results仅供通知我有多少跳遗骸和我的(房子)。

我需要的是:找到一种方法,让我的盒子在2秒后再跳一次(或者我可以设置很多跳跃),我知道我需要一个循环,但是我不能自己做。

我想一些帮助,因为现在,我想说谢谢只是ü读它,也许很多ü家伙的它可以很容易,但对我来说,这是很难的怪胎。 THKS。

回答

0

这将增加每2秒跳跃的次数,并从跳跃停止用户如果没有留下跳跃。

$(function() { 
    var jumps = 2; 
    var nexthouse = $("#start"); 

    $("button").click(function() { 

    if (jumps > 0) { 
     nexthouse = $(nexthouse).next(); 
     var nx = nexthouse.offset().top + 16; 
     var ny = nexthouse.offset().left + 8; 
     $('#box').animate({ 
     left: ny + 'px', 
     top: nx + 'px' 
     }, 500); 
     jumps--; 
    } 
    }); 

    setInterval(function() { 
    jumps++; 
    }, 2000); 
}); 

JSFiddle

如果你不熟悉的jQuery,随便问任何问题,或看看的文档,特别是那些对$(function(){})offset()next()setInterval(f(){})。噢,如果这是你需要的,请将其标记为已接受。

+0

哦thnks,我觉得这有很大帮助,我要去了解NEXT()为u说,完成这项工作。你可能会挽救一天,你好! :D –

+0

乐意帮忙!如果这回答了您的问题,请将其标记为已解决,或在解决问题时这样做。 – GAntoine