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 相关文章推荐
Javascript Math ceil()、floor()、round()三个函数的区别
Mar 09 Javascript
javascript parseInt() 函数的进制转换注意细节
Jan 08 Javascript
javascript实现微信分享
Dec 23 Javascript
浅谈javascript中基本包装类型
Jun 03 Javascript
jQuery选择器用法实例详解
Dec 17 Javascript
jQuery中ajax的load()与post()方法实例详解
Jan 05 Javascript
全面解析JS字符串和正则表达式中的match、replace、exec等函数
Jul 01 Javascript
ES6学习笔记之map、set与数组、对象的对比
Mar 01 Javascript
vue自动化表单实例分析
May 06 Javascript
Angular5.0 子组件通过service传递值给父组件的方法
Jul 13 Javascript
laydate时间日历插件使用方法详解
Nov 14 Javascript
使用mpvue搭建一个初始小程序及项目配置方法
Dec 03 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
Oracle Faq(Oracle的版本)
2006/10/09 PHP
PHP读取MySQL数据代码
2008/06/05 PHP
Codeigniter注册登录代码示例
2014/06/12 PHP
Thinkphp模板中截取字符串函数简介
2014/06/17 PHP
PHP中UNIX时间戳和日期间的转换与计算实例
2014/11/19 PHP
PHP将字符分解为多个字符串的方法
2014/11/22 PHP
PHP技术开发微信公众平台
2015/07/22 PHP
thinkPHP3.x常量整理(预定义常量/路径常量/系统常量)
2016/05/20 PHP
Asp.net下利用Jquery Ajax实现用户注册检测(验证用户名是否存)
2010/09/12 Javascript
javascript操作excel生成报表示例
2014/05/08 Javascript
创建js对象和js类的方法汇总
2014/12/24 Javascript
jQuery模拟新浪微博首页滚动效果的方法
2015/03/11 Javascript
AngularJS 执行流程详细介绍
2016/08/18 Javascript
支付宝小程序自定义弹窗dialog插件的实现代码
2018/11/30 Javascript
JavaScript计算正方形面积
2019/11/26 Javascript
使用Typescript和ES模块发布Node模块的方法
2020/05/25 Javascript
JS如何实现封装列表右滑动删除收藏按钮
2020/07/23 Javascript
Vue如何实现验证码输入交互
2020/12/07 Vue.js
[00:43]TI7不朽珍藏III——幽鬼不朽展示
2017/07/15 DOTA
[54:57]DOTA2-DPC中国联赛定级赛 Aster vs DLG BO3第二场 1月8日
2021/03/11 DOTA
Django添加feeds功能的示例
2018/08/07 Python
Python使用装饰器模拟用户登陆验证功能示例
2018/08/24 Python
pip安装tensorflow的坑的解决
2020/04/19 Python
解决python便携版无法直接运行py文件的问题
2020/09/01 Python
Python使用Turtle模块绘制国旗的方法示例
2021/02/28 Python
利用CSS3实现单选框动画特效示例代码
2016/09/26 HTML / CSS
美国一家专业的太阳镜网上零售商:Solstice太阳镜
2016/07/25 全球购物
金宝贝童装官网:Gymboree
2016/08/31 全球购物
YSL圣罗兰美妆美国官网:Yves Saint Lauret US
2016/11/21 全球购物
小学语文国培感言
2014/03/04 职场文书
初中军训感想300字
2014/03/05 职场文书
旅行社优秀创业计划书
2014/08/16 职场文书
刑事代理授权委托书
2014/09/17 职场文书
2016年教师反腐倡廉心得体会
2016/01/13 职场文书
springboot利用redis、Redisson处理并发问题的操作
2021/06/18 Java/Android
SpringBoot+Vue+JWT的前后端分离登录认证详细步骤
2021/09/25 Java/Android