我正在尝试将某些东西作为更大项目的一部分进行开发,但不幸的是很早就停留了。
我试图让动态创建的div只在#circle div中,并将它们限制为20。
这是一个代码...
'http://codepen.io/phillip_vale/pen/QENmMN?editors=1111'
答案 0 :(得分:0)
尝试这样的事情
您需要测试点是否在圆圈中
function makeDiv() {
var divsize = Math.floor((Math.random() * 20) + 4);
var a = Math.random();
$newdiv = $('<div class="test">').css({
'width': divsize + 'px',
'height': divsize + 'px',
'opacity': a
});
var posx = (Math.random() * ($(document).width() - divsize)).toFixed();
var posy = (Math.random() * ($(document).height() - divsize)).toFixed();
if((posx-200)*(posx-200)+(posy-200)*(posy-200) < 200*200) {
$newdiv.css({
'position': 'absolute',
'left': posx + 'px',
'top': posy + 'px',
'display': 'none'
}).appendTo('#circle').fadeIn(1000, function() {
makeDiv();
console.log(posx, posy);
});
return 1
}
return 0;
}
var x = 0
while(x < 20) {
x = x+makeDiv();
}
http://codepen.io/anon/pen/RRRNoN?editors=1111
或者这个用于动画:
function makeDiv() {
var divsize = Math.floor((Math.random() * 20) + 4);
var a = Math.random();
$newdiv = $('<div class="test">').css({
'width': divsize + 'px',
'height': divsize + 'px',
'opacity': a
});
var posx = (Math.random() * ($(document).width() - divsize)).toFixed();
var posy = (Math.random() * ($(document).height() - divsize)).toFixed();
if((posx-200)*(posx-200)+(posy-200)*(posy-200) < 170*170) {
$newdiv.css({
'position': 'absolute',
'left': posx + 'px',
'top': posy + 'px',
'display': 'none'
});
return $newdiv
}
return 0;
}
var x = 0
while(x < 20) {
var div = makeDiv();
if(div !=0) {
x = x+1;
div.appendTo('#circle').delay(1000*x).fadeIn(1000);
}
}
http://codepen.io/anon/pen/vKKEJO?editors=1111
了解更多info