javascript实现输出指定行数正方形图案的方法


Posted in Javascript onAugust 03, 2015

本文实例讲述了javascript实现输出指定行数正方形图案的方法。分享给大家供大家参考。具体如下:

javascript实现输出指定行数的正方形图案:点击生成图案,会有2个提示框,1,输入图案的组成字符,只能是1个字符哦2,输入正方形行数,路过大于10,会设置为10行数

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title> 生成正方形 </title>
<Script type='text/javascript'>
//动态测字符的宽度,传入字符,放在span,判断宽度变化,返回
function get_width(zifu){
if(cwidth.innerHTML.length>0)cwidth.innerHTML='';//路过有元素,清空
var oldwidth=cwidth.offsetWidth;
cwidth.innerHTML=zifu;
var zifu_width=cwidth.offsetWidth-oldwidth;
cwidth.innerHTML='';
//alert(zifu_width);
return zifu_width;
}
//输出正方形函数
function create(){
var tuxing=prompt('请输入图案,必须1个字符');//图案,路 a 
if(tuxing==null||tuxing==''||tuxing.length>1){
alert('请输入图 案,图案必须1个字符');
return false;
}
//提示框,输入行数
var count=prompt('请输入正方形的行数');
if(count==null||count==''||count<1||isNaN(count)){
alert('您的输入的行数存在问题,1.不得空2.大于1 3.不得为非数字');
return false;
}
//根据行数,得到一行的字符窜
if(count>10){count=10;alert('输入的行数大于10,自动修改为10');}
var hangstr='';
for(i=1;i<=count;i++){
hangstr+=tuxing+' ';
//判断变长是否超过文档的
if(get_width(hangstr)>maxw-100){
alert('过长的行');
count=i-1;
hangstr=oldhangstr;
break;
}
oldhangstr=hangstr;
}
//生成图形字符串
var tustr='';//图形字符串
for(i=1;i<=count;i++)tustr+=hangstr+'<br/>';
//把图形字符串放入图形层
zengfang.innerHTML=tustr;
}
</script>
 </head>
 <body>
 <div id='zengfang'>此处显示图形</div>
 <input type='button' value='生成正方形图案' onclick='create()'>
<br>
<span id='cwidth'></span>
<!-- 测试获取字符串的宽度,因为行数过大,会超过文档范围,而发生折行
<input type='text' value='' id='text1'>
 <input type='button' value='显示字符宽度' onclick='get_width(text1.value)'>
 -->
 <Script type='text/javascript'>
 var maxh=document.body.clientHeight;//文档高 正方形最大长度
 var maxw=document.body.clientWidth;//文档宽,正方形最大长度
 //alert(maxh);
 //alert(maxw);
 </script>
 </body>
</html>

效果图:

图案字符:A,行数:5

javascript实现输出指定行数正方形图案的方法

javascript实现输出指定行数正方形图案的方法

希望本文所述对大家的javascript程序设计有所帮助。

Javascript 相关文章推荐
基于jquery的设置页面文本框 只能输入数字的实现代码
Apr 19 Javascript
JavaScript代码实现左右上下自动晃动自动移动
Apr 08 Javascript
浅谈Node.js轻量级Web框架Express4.x使用指南
May 03 Javascript
javascript 中关于array的常用方法详解
May 05 Javascript
解决vue-cli中stylus无法使用的问题方法
Jun 19 Javascript
使用vue构建一个上传图片表单
Jul 04 Javascript
vue跨域解决方法
Oct 15 Javascript
使用Bootrap和Vue实现仿百度搜索功能
Oct 26 Javascript
vue之浏览器存储方法封装实例
Mar 15 Javascript
微信小程序通过保存图片分享到朋友圈功能
May 24 Javascript
详解简单易懂的 ES6 Iterators 指南和示例
Sep 24 Javascript
关于JavaScript 中 if包含逗号表达式
Nov 27 Javascript
如何用js 实现依赖注入的思想,后端框架思想搬到前端来
Aug 03 #Javascript
javascript常见数据验证插件大全
Aug 03 #Javascript
javascript自定义in_array()函数实现方法
Aug 03 #Javascript
JavaScript简单修改窗口大小的方法
Aug 03 #Javascript
javascript实现随机读取数组的方法
Aug 03 #Javascript
JS实现选择TextArea内文本的方法
Aug 03 #Javascript
Javascript连接Access数据库完整实例
Aug 03 #Javascript
You might like
纯真IP数据库的应用 IP地址转化成十进制
2009/06/14 PHP
PHP实现十进制、二进制、八进制和十六进制转换相关函数用法分析
2017/04/25 PHP
php微信扫码支付 php公众号支付
2019/03/24 PHP
实例:尽可能写友好的Javascript代码
2006/10/09 Javascript
面向对象的Javascript之三(封装和信息隐藏)
2012/01/27 Javascript
javascript里模拟sleep(两种实现方式)
2013/01/25 Javascript
jQuery中prepend()方法用法实例
2014/12/25 Javascript
jQuery中:eq()选择器用法实例
2014/12/29 Javascript
jQuery实现tab标签自动切换的方法
2015/02/28 Javascript
jQuery组件easyui对话框实现代码
2016/08/25 Javascript
JS简单实现禁止访问某个页面的方法
2016/09/13 Javascript
docker中编译nodejs并使用nginx启动
2017/06/23 NodeJs
对于js垃圾回收机制的理解
2017/09/14 Javascript
JS常用的几种数组遍历方式以及性能分析对比实例详解
2018/04/11 Javascript
微信小程序 this.triggerEvent()的具体使用
2019/12/10 Javascript
原生JS实现拖拽效果
2020/12/04 Javascript
[52:03]DOTA2-DPC中国联赛 正赛 Ehome vs iG BO3 第三场 1月31日
2021/03/11 DOTA
TensorFlow实现简单卷积神经网络
2018/05/24 Python
TensorFlow实现模型评估
2018/09/07 Python
python爬虫基础教程:requests库(二)代码实例
2019/04/09 Python
python虚拟环境完美部署教程
2019/08/06 Python
Python基于Hypothesis测试库生成测试数据
2020/04/29 Python
Python读取xlsx数据生成图标代码实例
2020/08/12 Python
CSS3实现彩色进度条动画的示例
2020/10/29 HTML / CSS
经典c++面试题四
2015/05/14 面试题
外贸公司实习自我鉴定
2013/09/24 职场文书
测绘工程系学生的自我评价
2013/11/30 职场文书
纠纷协议书
2014/04/16 职场文书
小学绿色学校申报材料
2014/08/23 职场文书
小学“向国旗敬礼”网上签名寄语活动总结
2014/09/27 职场文书
2014最新实习证明模板
2014/10/02 职场文书
2015年办公室个人工作总结
2015/04/20 职场文书
【超详细】八大排序算法的各项比较以及各自特点
2021/03/31 Python
SpringBoot整合MongoDB的实现步骤
2021/06/23 MongoDB
JavaScript 中for/of,for/in 的详细介绍
2021/11/17 Javascript
pytest实现多进程与多线程运行超好用的插件
2022/07/15 Python