2015-02-09 97 views
1

首先,我已經看到很多答案在移植過程中,但沒有一個能夠幫助我!我想從一個隨機的位置開始我的div,然後它會移動。而是從靜態位置顯示出來,然後進入隨機位置,然後開始移動。我想聲明我頂部和Div並非從隨機位置開始

$(document).ready(function() 

由JavaScript離開,但它不能幫助

HTML

<div class="ballarea" id="ballarea1"> 
     <div class="circle type" id="ball"></div> 
    </div> 

CSS

.circle{ 
border-radius: 50%; 
border: thin; 
border-color: blue; 
} 
.type { 
width: 20px; 
height: 20px; 
border: 5px solid blue; 
position: relative; 
} 

.ballarea{ 
width: 300px; 
height: 400px; 
border: solid black; 
overflow: hidden; 
position: relative; 
} 

的JavaScript

var i=0; 
var j=0; 
function ballMove(){ 
var d=document.getElementById("ball"); 
var temp=i; 
if(i<1) 
{ 
    i = Math.floor(Math.random() * (200)); 
    j = Math.floor(Math.random() * (200)); 

} 
for(;i<2+temp;i++,j++) 
{ 
    d.style.left=i+"px"; 
    d.style.top=j+"px"; 
} 
//document.getElementById('ball').style.display = 'block'; 

} 

function timeChange() 
{ 
setInterval(ballMove, 500); 
} 

enter image description here

現在首先它像下面,然後將其從一個隨機位置開始靜止位置開始。我想從一個不是從靜態位置的隨機位置展示它

+0

成立了小提琴,請 – 2015-02-09 07:16:39

+0

你嘗試先隱藏,然後顯示在隨機位置後,它被設置? – Royalty 2015-02-09 07:17:11

回答

0

嘗試先隱藏它,因爲腳本在DOM準備就緒時運行。

<div class="ballarea" id="ballarea1"> 
     <div class="circle type" id="ball" style="display:none"></div> 
    </div> 

然後你的腳本運行時,表現出來

var i = 0; 
var j = 0; 
function randomBall(){ 
    var d = document.getElementById("ball"); 
    i = Math.floor(Math.random() * (200)); 
    j = Math.floor(Math.random() * (200)); 
    d.style.left = i+"px"; 
    d.style.top = j+"px"; 
    d.style.display = "block"; 
} 

function ballMove(){ 
    var d=document.getElementById("ball"); 
    i += 2; 
    j += 2; 
    d.style.left = i+"px"; 
    d.style.top = j+"px"; 
} 

function timeChange() 
{ 
    randomBall(); 
    setInterval(ballMove, 500); 
} 
+0

我試過了。這是行不通的。和以前一樣。 – 2015-02-09 07:49:32

+0

我不太明白你想用這個'var temp = i來達到什麼目的; if(i <1) {'and this'for(; i <2 + temp; i ++,j ++) {' – 2015-02-09 07:53:24

+0

這有助於移動。每次我增加時(我首先將它初始化爲0),並且我希望它每500ns移動2 px,因此我更新了i,並且因爲我希望它移動比當前i值多2的px。所以我把價值存儲在溫度(因爲每次迭代我越來越多,我不能把我放在條件它將無限) – 2015-02-09 08:08:25