javascript - 使用 JavaScript/jQuery 创建同心圆

标签 javascript jquery html css

我正在尝试使用 jQuery 使用 for 循环从一个对象生成 10 个同心圆。

我已经在我的 jsfiddle 中写了这个 http://jsfiddle.net/JoshuaWaheed/NJkda/2/ ,看起来像这样:

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

for(var count = 0; count < 20; count++){
  var ten = 10;
  ten = ten + 30;
  $(".circle").css({"width":ten+"px","height":ten+"px"});
};

我怎样才能做到这一点?当我将变量添加任何数字(例如 30)时,它的宽度和高度似乎增加了,但没有产生应有的结果。

最佳答案

您需要在循环外定义 ten 变量,并为每个环创建一个新元素。

例如,

var ten = 10;
var tgt = $('body');
for(var count = 0; count < 20; count++){
    ten += 30;
    tgt.append('<div class="circle" style="width:'+ten+'px;height:'+ten+'px;margin:-'+(ten/2)+'px 0 0 -'+(ten/2)+'px"></div>');
};

请注意,我还在 javascript 中定义了边距,因为它也需要更改。

您的 CSS 也需要稍作改动;

.circle {
    position: absolute;
    top: 50%;
    left: 50%;
    border: 3px solid #666666;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-border-radius: 100%;
    -moz-border-radius: 100%;
    border-radius: 100%;
}

我已将边框半径设置为 100% 而不是像素值,并删除了不必要的边距和宽度/高度。

关于javascript - 使用 JavaScript/jQuery 创建同心圆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18686522/

相关文章:

javascript - 在 f :ajax "success" event only when validation has not failed 上执行脚本

javascript - 在表单提交之前从 html 表单元素中删除了 "disabled & ready only"属性

jquery - 将 jQuery DatePicker 中的日期格式更改为英文 dd/mm/yy?

javascript - 使用 jQuery -2 选择除一个按钮之外的所有按钮

php - 如何在 Facebook 粉丝专页上获得前 3 名最喜欢的评论?

html - 如何摆脱 Firefox 添加到 div 的 1px 宽度?

javascript - Websocket 是否发送和接收完整消息?

javascript - 使用 Enzyme 测试组合的 Reactjs 组件

javascript - img.on ("load") 在加载 img 之后但在设置其大小之前执行 (IE)

Javascript 通过 Outlook Express 打开电子邮件