首页 > 编程语言 >JavaScript实训

JavaScript实训

时间:2023-05-06 23:12:20浏览次数:47  
标签:function JavaScript li 实训 var div document nbsp

程序结构

分支结构

if分支

任务1

设计程序界面如下图所示,在文本框输入整数,使用if分支,先判断它是否是数字,如果是,再判断它的奇偶性,结果在弹出窗口(alert)中显示。
提示:isNaN(<字符串>)用来判断<字符串>是否不是数字,如果不是数字,该函数返回true,否则返回false。


点击查看代码
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>判断整数的奇偶性</title>
		<script>
			function odd_even(){
				var n=form1.num.value;
				if(isNaN(n)){
					alert(n+"不是数字");
				}else if(n%2==0){
					alert(n+"是偶数");
				}else{
					alert(n+"是奇数");
				}
			}
		</script>
	</head>
	<body>
		<form name="form1"  style="width: 400px;">
			<fieldset>
				<legend>判断整数的奇偶性</legend>
				<p>
					输入一个整数:
					<input type="text" name="num">
					<input type="button" value="判断" onclick="odd_even();">
				</p>
			</fieldset>
		</form>
	</body>
</html>

任务2

设计如下图所示的界面,'等级'文本框设为'只读',使用if分支实现输入成绩,判断成绩的等级。
规则如下:
不在0~100:成绩不合法
[90,100]:优秀
[80,90):良好
[70,80):中等
[60,70):及格
[0,60):仍需努力


点击查看代码
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>if多分支</title>
		<script>
			function get_level(){
				var score=form1.score.value;
				var level;
				if(isNaN(score) || score<0 || score>100){
					level="成绩不合法!";
				}else if(score>=90){
					level="优秀";
				}else if(score>=80){
					level="良好";
				}else if(score>=70){
					level="中等";
				}else if(score>=60){
					level="及格";
				}else{
					level="仍需努力";
				}
				form1.result.value=level;
			}
		</script>
	</head>
	<body>
		<form name="form1"  style="width: 400px;">
			<fieldset>
				<legend>判断成绩的等级</legend>
				<p>
					输入成绩(0~100):
					<input type="text" name="score">
					<input type="button" value="判断" onclick="get_level();">
				</p>
				<hr>
				<p>
					等级为:<input type="text" name="result" readonly="readonly">
				</p>
			</fieldset>
		</form>
	</body>
</html>

switch分支

任务1

设计程序界面如下图所示,使用switch分支实现将一行文本中的数字转换为大写数字。
0~9:零、壹、贰、叁、肆、伍、陆、柒、捌、玖

点击查看代码
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>switch多分支</title>
		<script>
			function get_big(n){
				var c;
				switch (n){
					case '0':{c='零';break;}
					case '1':{c='壹';break;}
					case '2':{c='贰';break;}
					case '3':{c='叁';break;}
					case '4':{c='肆';break;}
					case '5':{c='伍';break;}
					case '6':{c='陆';break;}
					case '7':{c='柒';break;}
					case '8':{c='捌';break;}
					case '9':{c='玖';break;}
					default:{c=n;break;}
				}
				return c;
			}
			function convert(){
				var s1=form1.number.value;
				var result="";
				for (var i = 0; i < s1.length; i++) {
					result+=get_big(s1[i]);
				}
				form1.result.value=result;
			}
		</script>
	</head>
	<body>
		<form name="form1"  style="width: 400px;">
			<fieldset>
				<legend>阿拉伯数字转大写数字</legend>
				<p>
					输入阿拉伯数字:
					<input type="text" name="number">
					<input type="button" value="判断" onclick="convert();">
				</p>
				<hr>
				<p>
					大写数字:<input type="text" name="result" readonly="readonly">
				</p>
			</fieldset>
		</form>
	</body>
</html>

循环嵌套

使用document.write()方法输出乘法口诀表。如下图所示。

点击查看代码
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>for循环嵌套</title>
	</head>
	<body>
		<h3>乘法口诀表</h3>
		<table border="1" style="border:none;width: 600px;">
			<script>
				for (var i = 1; i <= 9; i++) {
					document.write("<tr>")
					for (var j = 1; j <= i; j++) {
						document.write("<td>"+i + "x" + j + "=" + i * j + "</td>");
					}
					document.write("</tr>");
				}
			</script>
		</table>
	</body>
</html>

DOM事件

设计一个div,内容为"我是一个div.",样式如下图所示。实现各种事件

  • 当页面加载时,div的内容为"页面已加载..."
  • 当鼠标移入div时,div的内容为"鼠标移入..."
  • 当鼠标移出div时,div的内容为"鼠标移出..."
  • 当鼠标在div按下时,div的内容为"鼠标按下..."
  • 当鼠标在div松开时,div的内容为"鼠标松开..."

点击查看代码
<!-- demo6.html -->
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>DOM事件</title>
		<script src="js/demo6.js"></script>
		<style>
			.c1{
				width: 200px;
				height: 100px;
				border: 1px solid #999;
				background: red;
				color: yellow;
				text-align: center;
				line-height: 100px;
			}
		</style>
	</head>
	<body>
		<div id="div1" class="c1">
			我是一个div.
		</div>
	</body>
</html>

//demo6.js
window.onload=function () {
	var div1=document.getElementById("div1");
	div1.innerText="页面已加载...";
	
	div1.onmouseover=function () {
		this.innerText="鼠标移入...";
	}
	
	div1.onmouseout=function () {
		this.innerText="鼠标移出...";
	}
	
	div1.onmousedown=function () {
		this.innerText="鼠标按下...";
	}
	
	div1.onmouseup=function () {
		this.innerText="鼠标松开...";
	}
}

改变DOM元素样式

设计一个如下图所示的界面,并实现相应的功能.

点击查看代码
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>改变DOM元素的样式</title>
	</head>
	<body>
		<p>
			<a id="a1" href="javascript:;" onclick="changeSize('+')">增大字号</a>&nbsp;
			<a id="a2" href="javascript:;" onclick="changeSize('-')">减小字号</a>&nbsp;
			<a id="a3" href="javascript:;" onclick="changeColor('red')" style="background-color: red;text-decoration: none;">&nbsp;&nbsp;&nbsp;&nbsp;</a>&nbsp;
			<a id="a4" href="javascript:;" onclick="changeColor('green')" style="background-color: green;text-decoration: none;">&nbsp;&nbsp;&nbsp;&nbsp;</a>&nbsp;
			<a id="a5" href="javascript:;" onclick="changeColor('blue')" style="background-color: blue;text-decoration: none;">&nbsp;&nbsp;&nbsp;&nbsp;</a>&nbsp;
			<input type="color" id="i1" onchange="changeColor()">
		</p>
		<hr>
		<p id="p1" style="font-size: 16px;">I love JavaScript.</p>
		<script>
			var p1=document.getElementById("p1");
			var i1=document.getElementById("i1");
			function changeSize(op) {
				var pos_px=p1.style.fontSize.indexOf("px");
				var size=p1.style.fontSize.substring(0,pos_px);
				if(op=="+"){
					p1.style.fontSize=(parseInt(size)+4)+"px";
				}else if(op=="-"){
					p1.style.fontSize=(parseInt(size)-4)+"px";
				}
			}
			function changeColor(color) {
				if(arguments.length>0){
					p1.style.color=color;
				}else{
				p1.style.color=i1.value;
				}
			}
			
		</script>
	</body>
</html>

DOM元素的添加和删除

设计一个如下图所示的程序界面,并实现动态添加和删除列表项.

点击查看代码
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>DOM元素的添加和删除</title>
	</head>
	<body>
		<h3>末尾添加/删除元素</h3>
		<p>
			<button id="b1">添加列表项</button>&nbsp;&nbsp;
			<button id="b2">删除列表项</button>
		</p>
		<hr>
		<ul id="u1">
			<li>第1项</li>
			<li>第2项</li>
			<li>第3项</li>
		</ul>
		<script>
			var u1=document.getElementById("u1");
			var b1=document.getElementById("b1");
			var b2=document.getElementById("b2");
			
			b1.onclick=function(){
				var li_s=document.getElementsByTagName("li");
				var li=document.createElement("li");
				var text_node=document.createTextNode("第"+(li_s.length+1)+"项");
				li.appendChild(text_node);
				u1.appendChild(li);
			}
			b2.onclick=function(){
				var li_s=document.getElementsByTagName("li");
				u1.removeChild(li_s[li_s.length-1]);
			}
		</script>
	</body>
</html>

标签:function,JavaScript,li,实训,var,div,document,nbsp
From: https://www.cnblogs.com/beast-king/p/17358010.html

相关文章

  • JavaScript封装大全
    JavaScript封装大全-持续更新Ajax封装//使用该封装需注意//Ajax(method(默认GET),url(网址必传),success(res){(成功时数据处理函数必传)},error(res)(失败时数据处理函数),data(网址中qurey部分用对象形式存储默认为空))//使用ES6语法classAjax{//解构传......
  • javaScript 常用去除 ‘console
    javaScript常用去除‘console.log’办法手动注释掉console.log语句:可以手动在代码中注释掉所有console.log语句,但是这种方法比较繁琐,并且需要手动维护,不太适合大型项目。使用Babel插件去除console.log:Babel是一个JavaScript编译器,它可以将ES6+的代码转换成......
  • JavaScript 面试题
    一、event.stopPropagation和 event.preventDefault的区别1、event.stopPropagation(停止传播)   用于阻止捕获和冒泡事件的进一步传播。但是不能阻止同一Dom节点上的其它事件被调用。2、event.preventDefault(阻止默认)   方法可防止元素的默认行为。比如a标签的......
  • 实践分享:打造极具高扩展性的JavaScript SDK
    SDK(SoftwareDeveloperKit)是使用FeatureProbe服务必不可少的工具之一。SDK能将用户的应用程序连接到FeatureProbe服务,根据用户的配置获取开关的结果,还能将开关的访问情况上报给FeatureProbe,进而实现A/B实验的能力。FeatureProbe目前对外提供十余种主流开发语言的SDK,包括......
  • 网页抓取--1(原网页+Javascript返回数据)
     有时候由于种种原因,我们需要采集某个网站的数据,但由于不同网站对数据的显示方式略有不同!本文就用Java给大家演示如何抓取网站的数据:(1)抓取原网页数据;(2)抓取网页Javascript返回的数据。一、抓取原网页。这个例子我们准备从http://ip.chinaz.com上抓取ip查询的结果:第一步:打开这个网页......
  • JavaScript学习汇总
    ExtJs学习之Button(08)uniGUI学习之脱离Delphi直接写ExtJS从入门到精通04官方文档查找办法_例如_Ext.Window(48)uniGUI学习之脱离Delphi直接写ExtJS从入门到精通03自定义函数_调用顺序(47)uniGUI学习之脱离Delphi直接写ExtJS从入门到精通02Ext.Panel创建后_调用的几种方法(46)......
  • JavaScript 图片的上传前预览
    实例一: 实现要点● 对于 Chrome、Firefox、IE10 使用 FileReader 来实现。● 对于 IE6~9 使用滤镜 filter:progid:DXImageTransform.Microsoft.AlphaImageLoader 来实现。<!DOCTYPEhtml><html><head><metahttp-equiv="Content-Type"content="text/html;charset=......
  • 【javascript】typeof 和 instance of的差异
    typeof与instanceof都是判断数据类型的方法,区别如下:1.typeof会返回一个运算数的基本类型,instanceof返回的是布尔值2.instanceof可以准确判断引用数据类型,但是不能正确判断原始数据类型3.typeof虽然可以判断原始数据类型(null除外),但是无法判断引用数据类型(function除外)所以如......
  • 想了解JavaScript基础?这篇文章足够了!
    本人无意看到的一篇文章,觉得写的很全面,简单概括了Javascript的一些知识,现分享如下:原文地址:http://www.ppmy.cn/news/7295.html更多详细内容,请微信搜索“前端爱好者“,戳我查看。一、JavaScript的介绍JavaScript是一种运行在客户端的脚本语言,作为web标准的行为层,最初出现......
  • javascript-1
    js注释多行注释/*这里是注释*/单行注释//这里是注释js中严格区分大小写js中每一条语句以分号结尾,如果不写分号,浏览器会自动添加。......