2013-07-24 156 views
0

我有一些將對象移動到軌道上的小腳本,我想隨機化對象的起始位置。隨機化動畫對象的位置

這裏就是我說的: http://jsfiddle.net/W69s6/1018/

HTML

<div class="orbit"> 
    <div class="circle"></div> 
</div> 

CSS

.orbit 
{ 
    height: 200px; 
    width: 200px; 
    background: rgba(0,0,0,0.2); 
} 

.circle 
{ 
    height: 50px; 
    width: 50px; 
    background: #00ff00; 
    position: absolute; 
} 

JS

$(document).ready(function() { 
    orbit('.circle', 0, 0.01, 100, 75, 75); 
}); 

function orbit(obj, t, ts, r, x, y) 
{ 
    t += ts; 

    var top = Math.floor(y - (r * Math.sin(t))); 
    var left = Math.floor(x - (r * Math.cos(t))); 

    $(obj).animate({ 
     top: top, 
     left: left, 
    }, 1, function() 
    { 
     orbit(obj, t, ts, r, x, y); 
    }); 
} 

是一種你擅長數學並知道如何改變它?

+0

隨機化開始圈的位置? –

回答

1

更改代碼的第一部分:

$(document).ready(function() { 
    orbit('.circle', Math.random()*100, 0.01, 100, 75, 75); 
}); 
+2

http://jsfiddle.net/LDsPJ/他的答案的小提琴。工程很好,是最簡單的。 – defaultNINJA

+0

你不想應用'Math.random()'最後兩個參數,因爲那些是開始的X和Y值? – Jnatalzia

+1

因爲X和Y參數會佔據軌道位置,而不是圓形。 – mikach