DDR爱好者之家 Design By 杰米
本文实例为大家分享了js实现黑白div块画空心图形的具体代码,供大家参考,具体内容如下
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>starts picture</title> <link rel="stylesheet" href="main.css" rel="external nofollow" > </head> <body> <script type="text/javascript"> /* 打印实心矩形,思路:两个for循环嵌套,外面for循环 + 换行符实现打印n行; 内部for循环实现打印n个星号; */ function juxing(n){ //打印矩形,传入参数为行数(矩形高),作用域预解析时会声明传入参数,无需 var n = a; 声明多余的变量 for(var i=1; i<=n; i++){ for(var j=1; j<=n; j++){ //for循环嵌套实现,每行打印n个'*'; document.write('<div class="black"></div>'); } document.write('<br/>'); //打印换行符,实现换行,不然全部在一行 } } juxing(4); /* 打印空心矩形, **** * * * * **** 思路:内部for循环打印信号时加上序号判断, 具体情况: 1、第一行 或 最后一行的所有序号 打印星号 2、第二行至倒数第二行的第一个序号 或 最后一个序号 打印星号 3、第二行至倒数第二行中间全部序号 打印空格 ' ' 注意HTML中字符实体都是以 &开头 ;结尾 */ function kongxinjuxing(n){ for(var i=1; i<=n; i++){ for(var j=1; j<=n; j++){ if(i==1 || i==n){ document.write('<div class="black"></div>'); }else if(j==1 || j==n){ document.write('<div class="black"></div>'); }else{ document.write('<div class="white"></div>'); } } document.write('<br/>'); } } kongxinjuxing(8); /* 打印实心正三角形 ..* .*** ***** 思路:两个for循环嵌套;外部for循环实现n行; 内部第一个for循环,先打印n-i个空格 内部第二个for循环,再继续打印2*i-1个星号 */ function zhengsanjiaoxing(n){ for(var i=1; i<=n; i++){ for(var j=1; j<=n-i; j++){ document.write('<div class="white"></div>'); } for(var k=1; k<=2*i-1; k++){ document.write('<div class="black"></div>'); } document.write('<br/>'); } } zhengsanjiaoxing(4); document.write('<br/>'); document.write('<br/>'); /*打印空心三角形 * * * * * ******* 思路:内部第二个for循环打印星号时判断序号 具体情况: 1、最后一行每个序号都打印星号 2、第一行至倒数第二行中 第一个 或 最后一个 打印星号 3、其他打印空格 */ function kongxinzhengsanjiaoxing(n){ for(var i=1; i<=n; i++){ for(var j=1; j<=n-i; j++){ document.write('<div class="white"></div>'); } for(var k=1; k<=2*i-1; k++){ if(i==n){ //判断如果是最后一行就每个序号都打星号 document.write('<div class="black"></div>'); }else if(k==1 || k==2*i-1){ //判断如果是第一个 或 最后一个序号,打印星号 document.write('<div class="black"></div>'); }else{ //其他为序号打印空格 document.write('<div class="white"></div>'); } } document.write('<br/>'); } } kongxinzhengsanjiaoxing(9); /* 打印实心菱形 思路:先打印上面 (n+1)/2 行的正三角形,再打印下面 (n+1)/2-1 行的倒过来的正三角形 */ function lingxing(n){ for(var i=1; i<=(n+1)/2; i++){ //打印上半个三角形,行数为(n+1)/2 for(var j=1; j<=(n+1)/2-i; j++){ document.write('<div class="white"></div>'); } for(var k=1; k<=2*i-1; k++){ document.write('<div class="black"></div>'); } document.write('<br/>'); } for(var l=1; l<=(n+1)/2-1; l++){ //打印下半个倒三角形,行数为(n+1)/2-1 要比上半个少一行 for(var m=1; m<=l; m++){ document.write('<div class="white"></div>'); } //再继续打印星号,每行是的星号个数是行数倒序的二倍减一,即(((n+1)/2-1+1)-l)*2-1 for(var o=1; o<=((n+1)/2-l)*2-1; o++){ document.write('<div class="black"></div>'); } document.write('<br/>'); } } lingxing(9); /* 打印空心菱形 */ function kongxinlingxing(n){ for(var i=0; i<=(n+1)/2; i++){ //打印上部分三角形 for(var j=1; j<=(n+1)/2-i; j++){ document.write('<div class="white"></div>'); } for(var k=1; k<=2*i-1; k++){ if(k==1 || k==2*i-1){ document.write('<div class="black"></div>'); //每行第一个序号 或 最后一个序号打印星号 }else{ document.write('<div class="white"></div>'); } } document.write('<br/>'); } for(var l=1; l<=(n+1)/2-1; l++){ //打印下面的三角形 for(var m=1; m<=l; m++){ document.write('<div class="white"></div>'); } for(var o=1; o<=((n+1)/2-l)*2-1; o++){ if(o==1 || o==((n+1)/2-l)*2-1){ document.write('<div class="black"></div>'); }else{ document.write('<div class="white"></div>'); } } document.write('<br/>'); } } kongxinlingxing(7); /* 打印实心圆形 */ function circle(r){ for(var i=1; i<=r; i++){ //画上半个圆 var n = Math.round(Math.sqrt(r*r-(r-i)*(r-i))); for(var j=1; j<=r-n; j++){ document.write('<div class="whitemin"></div>'); } for(var k=1; k<=2*n; k++){ document.write('<div class="blackmin"></div>'); } document.write('<br/>'); } for(var l=1; l<=r; l++){ var m =Math.round(Math.sqrt(r*r-l*l)); for(var o=1; o<=r-m; o++){ document.write('<div class="whitemin"></div>'); } for(var q=1; q<=2*m; q++){ document.write('<div class="blackmin"></div>'); } document.write('<br/>'); } } circle(66); /* 打印空心圆形 */ function kongxinCircle(r){ for(var i=1; i<=r; i++){ //画上半个圆 var w = Math.sqrt(r*r-(r-i)*(r-i)); var n = Math.round(w); var diff = w - n; if(diff >= 0.2){ n += 1; } console.log(w); console.log(n); for(var j=1; j<=r-n; j++){ document.write('<div class="whitemin"></div>'); } for(var k=1; k<=2*n; k++){ if(i==1){ document.write('<div class="blackmin"></div>'); }else if(k==1 || k==2*n){ document.write('<div class="blackmin"></div>'); }else{ document.write('<div class="whitemin"></div>'); } } document.write('<br/>'); } for(var l=1; l<=r; l++){ var m = Math.round(Math.sqrt(r*r-l*l)); for(var o=1; o<=r-m; o++){ document.write('<div class="whitemin"></div>'); } for(var q=1; q<=2*m; q++){ if(l>=r-1){ document.write('<div class="blackmin"></div>'); }else if(q==1 || q==2*m){ document.write('<div class="blackmin"></div>'); }else{ document.write('<div class="whitemin"></div>'); } } document.write('<br/>'); } } kongxinCircle(66); </script> </body> </html>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
DDR爱好者之家 Design By 杰米
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
DDR爱好者之家 Design By 杰米
暂无评论...
更新日志
2024年11月25日
2024年11月25日
- 凤飞飞《我们的主题曲》飞跃制作[正版原抓WAV+CUE]
- 刘嘉亮《亮情歌2》[WAV+CUE][1G]
- 红馆40·谭咏麟《歌者恋歌浓情30年演唱会》3CD[低速原抓WAV+CUE][1.8G]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[320K/MP3][193.25MB]
- 【轻音乐】曼托凡尼乐团《精选辑》2CD.1998[FLAC+CUE整轨]
- 邝美云《心中有爱》1989年香港DMIJP版1MTO东芝首版[WAV+CUE]
- 群星《情叹-发烧女声DSD》天籁女声发烧碟[WAV+CUE]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[FLAC/分轨][748.03MB]
- 理想混蛋《Origin Sessions》[320K/MP3][37.47MB]
- 公馆青少年《我其实一点都不酷》[320K/MP3][78.78MB]
- 群星《情叹-发烧男声DSD》最值得珍藏的完美男声[WAV+CUE]
- 群星《国韵飘香·贵妃醉酒HQCD黑胶王》2CD[WAV]
- 卫兰《DAUGHTER》【低速原抓WAV+CUE】
- 公馆青少年《我其实一点都不酷》[FLAC/分轨][398.22MB]
- ZWEI《迟暮的花 (Explicit)》[320K/MP3][57.16MB]