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中的location用法简单介绍
Mar 07 Javascript
extJs 文本框后面加上说明文字+下拉列表选中值后触发事件
Nov 27 Javascript
JavaScript 学习笔记(十一)
Jan 19 Javascript
IE事件对象(The Internet Explorer Event Object)
Jun 27 Javascript
JQuery中Text方法用法实例分析
May 18 Javascript
javascript实现跨域的方法汇总
Jun 25 Javascript
zepto与jquery的区别及zepto的不同使用8条小结
Jul 28 Javascript
jquery购物车结算功能实现方法
Oct 29 Javascript
利用jQuery插件imgAreaSelect实现图片上传裁剪(放大缩小)
Dec 02 Javascript
Bootstrap CSS组件之输入框组
Dec 17 Javascript
ES6中module模块化开发实例浅析
Apr 06 Javascript
详解Eslint 配置及规则说明
Sep 10 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
Ajax PHP 边学边练 之三 数据库
2009/11/26 PHP
php批量缩放图片的代码[ini参数控制]
2011/02/11 PHP
PHP的5个安全措施小结
2012/07/17 PHP
PHP自动识别字符集并完成转码详解
2013/08/02 PHP
Sample script that displays all of the users in a given SQL Server DB
2007/06/16 Javascript
js 静态动态成员 and 信息的封装和隐藏
2011/05/29 Javascript
JQuery操作Select的Options的Bug(IE8兼容性视图模式)
2013/04/21 Javascript
jquery触发a标签跳转事件示例代码
2013/07/21 Javascript
js中实现多态采用和继承类似的方法
2014/08/22 Javascript
jQuery+css实现的换页标签栏效果
2016/01/27 Javascript
JS实现图片的不间断连续滚动的简单实例
2016/06/03 Javascript
JavaScript接口的实现三种方式(推荐)
2016/06/14 Javascript
使用jQuery Rotare实现微信大转盘抽奖功能
2016/06/20 Javascript
Angular利用trackBy提升性能的方法
2018/01/26 Javascript
vue2.0的虚拟DOM渲染思路分析
2018/08/09 Javascript
JS实现可针对算术表达式求值的计算器功能示例
2018/09/04 Javascript
4个顶级JavaScript高级文本编辑器
2018/10/10 Javascript
在js文件中引入(调用)另一个js文件的三种方法
2020/09/11 Javascript
[03:12]完美世界DOTA2联赛PWL DAY9集锦
2020/11/10 DOTA
[01:15:16]DOTA2-DPC中国联赛 正赛 Elephant vs Aster BO3 第一场 1月26日
2021/03/11 DOTA
Python中的深拷贝和浅拷贝详解
2015/06/03 Python
Python中的异常处理相关语句基础学习笔记
2016/07/11 Python
python基础练习之几个简单的游戏
2017/11/10 Python
Numpy数组转置的两种实现方法
2018/04/17 Python
在win10和linux上分别安装Python虚拟环境的方法步骤
2019/05/09 Python
Django框架实现的普通登录案例【使用POST方法】
2019/05/15 Python
django rest framework使用django-filter用法
2020/07/15 Python
html5给汉字加拼音加进度条的实现代码
2020/04/07 HTML / CSS
大学同学会活动方案
2014/08/20 职场文书
活动总结范文
2014/08/30 职场文书
2014年学校教学工作总结
2014/12/06 职场文书
学术会议通知范文
2015/04/15 职场文书
倡议书格式及范文
2015/04/29 职场文书
学风建设主题班会
2015/08/17 职场文书
win10安装配置nginx的过程
2021/03/31 Servers
如何理解Vue简单状态管理之store模式
2021/05/15 Vue.js