2015-10-16 36 views
1

我想圍繞圓圈排列點。但我得到了越野車的結果。一些度數(頂部和底部)沒有正確定位。會有什麼問題?使用javascript buggy排列圓周圍的圓點

如何解決這個問題?

$(function(){ 
 
    
 
    var globe = $('#center'); 
 
    var width = globe.width()/2 ; 
 
    var height = globe.height()/2; 
 
    var point = $('.point').width(); 
 
    var pointer = $('<div />', {class:'test'}); 
 

 
    
 
    for(var i = 1; i <= 360; i++) { 
 
    
 
    pointer.clone().css({ 
 
     left: width + (width) * Math.cos(i * Math.PI/180), 
 
     top: height + (height + point) * Math.sin(i * Math.PI/180) 
 
    }).appendTo('#center'); 
 
    
 
    } 
 
     
 
    
 
});
#center { 
 
    width:300px; 
 
    height:300px; 
 
    border-radius:50%; 
 
    border:1px solid red; 
 
    position:relative; 
 
    left:200px; 
 
    top:100px; 
 
} 
 

 
.test { 
 
    
 
    width:0.1em; 
 
    height:0.1em; 
 
    background:gray; 
 
    position:absolute; 
 
    border-radius:50%; 
 
    
 
} 
 

 
.point { 
 
    width:0.5em; 
 
    height:0.5em; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id="center"></div> 
 
<div class="point"></div>

回答

3

替換:

top: height + (height + point) * Math.sin(i * Math.PI/180) 

有了:

top: height + (height) * Math.sin(i * Math.PI/180) 
+1

只是保持一致性,並指出錯誤。編碼風格是他的選擇。 –