- 打开新窗口
- JavaScript为网页添加动态效果并实现与用户交互的功能
- 流程控制语句
- 调用函数
- 使用JS完成一个简单的计算器功能。
- JavaScript内置对象-统计成绩
- 制作一个表格,显示班级的学生信息。
- 实现选项卡切换的效果
打开新窗口
<!DOCTYPE html> <html> <head> <title> new document </title> <meta http-equiv="Content-Type" content="text/html; charset=gbk"/> <script type="text/javascript"> function openWindow() { var open=confirm("打开的网址"); if(open==true) { var lu=prompt("打开的网址","http://www.imooc.com"); if(lu!=null) { window.open(lu,"_blank",'width=400px,height=500px,menubar=no,toolbar=no'); } else { alert("bye"); } } else { alert("bye"); } } // 新窗口打开时弹出确认框,是否打开 // 通过输入对话框,确定打开的网址,默认为 http://www.imooc.com/ //打开的窗口要求,宽400像素,高500像素,无菜单栏、无工具栏。 </script> </head> <body> <input type="button" value="新窗口打开网站" onclick="openWindow()" /> </body> </html>
JavaScript为网页添加动态效果并实现与用户交互的功能
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" Content="text/html; charset=utf-8" /> <title>javascript</title> <style type="text/css"> body{font-size:12px;} #txt{ height:400px; width:600px; border:#333 solid 1px; padding:5px;} p{ line-height:18px; text-indent:2em;} </style> </head> <body> <h2 id="con">JavaScript课程</H2> <div id="txt"> <h5>JavaScript为网页添加动态效果并实现与用户交互的功能。</h5> <p>1. JavaScript入门篇,让不懂JS的你,快速了解JS。</p> <p>2. JavaScript进阶篇,让你掌握JS的基础语法、函数、数组、事件、内置对象、BOM浏览器、DOM操作。</p> <p>3. 学完以上两门基础课后,在深入学习JavaScript的变量作用域、事件、对象、运动、cookie、正则表达式、ajax等课程。</p> </div> <form> <!--当点击相应按钮,执行相应操作,为按钮添加相应事件--> <input type="button" value="改变颜色" onclick="color()"> <input type="button" value="改变宽高" onclick="h()"> <input type="button" value="隐藏内容" onclick="hide()"> <input type="button" value="显示内容" onclick="show()"> <input type="button" value="取消设置" onclick="none()"> </form> <script type="text/javascript"> var txt=document.getElementById("txt") //定义"改变颜色"的函数 function color(){ txt.style.color="red"; } //定义"改变宽高"的函数 function h(){ txt.style.width="300px"; txt.style.height="300px"; } //定义"隐藏内容"的函数 function hide(){ txt.style.display="none"; } //定义"显示内容"的函数 function show(){ txt.style.display="block"; } //定义"取消设置"的函数 function none(){ var message=confirm("是否取消设置?") if(message==true){ txt.style="none";} } </script> </body> </html>
流程控制语句
<!DOCTYPE HTML> <html > <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>流程控制语句</title> <script type="text/javascript"> var infos = [ ['小A','女',21,'大一'], ['小B','男',23,'大三'], ['小C','男',24,'大四'], ['小C','男',24,'大四'], ['小D','女',21,'大一'], ['小E','女',22,'大四'], ['小F','男',21,'大一'], ['小G','女',22,'大二'], ['小H','女',20,'大三'], ['小I','女',20,'大一'], ['小J','男',20,'大三'] ]; //第一步把之前的数据写成一个数组的形式,定义变量为 infos for(var i=0;i<infos.length;i++){ if(infos[i][3]=='大一'&&infos[i][1]=='女') { document.write(infos[i]+"<br>"); } } //第一次筛选,找出都是大一的信息 //第二次筛选,找出都是女生的信息 </script> </head> <body> </body> </html>
调用函数
<!DOCTYPE HTML> <html > <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>调用函数</title> <script type="text/javascript"> //定义函数 //函数体,判断两个整数比较的三种情况 function sum(a,b){ if(a>b){ return a; } else if(a<b){ return b; }else if(a==b){ return a+'='+b; }} //调用函数,实现下面两组数中,返回较大值。 document.write(" 5 和 4 的较大值是:"+sum(5,4)+"<br>"); document.write(" 6 和 3 的较大值是:"+sum(6,6) ); </script> </head> <body> </body> </html>
使用JS完成一个简单的计算器功能。
<!DOCTYPE html> <html> <head> <title> 事件</title> <script type="text/javascript"> function count(){ var a=document.getElementById("txt1").value; var b=document.getElementById("txt2").value; var c=document.getElementById("select").value; var sum=0; switch(c){ case "+":sum=parseInt(a)+parseInt(b);break; case "-":sum=parseInt(a)-parseInt(b);break; case "*":sum=parseInt(a)*parseInt(b);break; default:sum=parseInt(a)/parseInt(b); } document.getElementById("fruit").value=sum; //获取第一个输入框的值 //获取第二个输入框的值 //获取选择框的值 //获取通过下拉框来选择的值来改变加减乘除的运算法则 //设置结果输入框的值 } </script> </head> <body> <input type='text' id='txt1' /> <select id='select'> <option value='+'>+</option> <option value="-">-</option> <option value="*">*</option> <option value="/">/</option> </select> <input type='text' id='txt2' /> <input type='button' value=' = ' onclick="count()"/> <!--通过 = 按钮来调用创建的函数,得到结果--> <input type='text' id='fruit' /> </body> </html>
JavaScript内置对象-统计成绩
<!DOCTYPE HTML> <html > <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>系好安全带,准备启航</title> <script type="text/javascript"> //通过javascript的日期对象来得到当前的日期,并输出。 var mytime=new Date(); var weeks=["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"]; document.write(mytime.getFullYear()+"年"+ (mytime.getMonth()+1)+'月'+ mytime.getDate()+'日'+ weeks[mytime.getDay()]+"<br>"); //成绩是一长窜的字符串不好处理,找规律后分割放到数组里更好操作哦 var scoreStr = "小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76"; var cun=scoreStr.split(";"); var sum=0; for(i=0;i<cun.length;i++){ sum+=parseInt(cun[i].slice(cun[i].indexOf(":")+1)); } document.write("总分:"+sum+"<br>"); document.write("平均分:"+Math.round(sum/cun.length)); //从数组中将成绩撮出来,然后求和取整,并输出。 </script> </head> <body> </body> </html>
制作一个表格,显示班级的学生信息。
<!DOCTYPE html> <html> <head> <title> new document </title> <meta http-equiv="Content-Type" content="text/html; charset=gbk"/> <script type="text/javascript"> window.onload = function(){ var tr=document.getElementsByTagName("tr"); for(var i= 0;i<tr.length;i++) { bgcChange(tr[i]); } // 鼠标移动改变背景,可以通过给每行绑定鼠标移上事件和鼠标移除事件来改变所在行背景色。 } function bgcChange(obj) { obj.onmouseover=function(){ obj.style.backgroundColor="#f2f2f2"; } obj.onmouseout=function(){ obj.style.backgroundColor="#fff"; } } // 编写一个函数,供添加按钮调用,动态在表格的最后一行添加子节点; var num=2; function add(){ num++; var tr=document.createElement("tr"); var xh=document.createElement("td"); var xm=document.createElement("td"); xh.innerHTML="xh00"+num; xm.innerHTML="第"+num+"学生"; var del=document.createElement("td"); del.innerHTML="<a href='javascript:;' onclick='del(this)' >删除</a>"; var tab=document.getElementById("table"); tab.appendChild(tr); tr.appendChild(xh); tr.appendChild(xm); tr.appendChild(del); var tr = document.getElementsByTagName("tr"); for(var i= 0;i<tr.length;i++) { bgcChange(tr[i]); } } // 创建删除函数 function del(obj) { var tr=obj.parentNode.parentNode; tr.parentNode.removeChild(tr); } </script> </head> <body> <table border="1" width="50%" id="table"> <tr> <th>学号</th> <th>姓名</th> <th>操作</th> </tr> <tr> <td>xh001</td> <td>王小明</td> <td><a href="javascript:;" onclick="del(this);">删除</a></td> <!--在删除按钮上添加点击事件 --> </tr> <tr> <td>xh002</td> <td>刘小芳</td> <td><a href="javascript:;" onclick="del(this);">删除</a></td> <!--在删除按钮上添加点击事件 --> </tr> </table> <input type="button" value="添加一行" onclick="add()" /> <!--在添加按钮上添加点击事件 --> </body> </html>
实现选项卡切换的效果
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title>实践题 - 选项卡</title> <style type="text/css"> /* 标签和文本结合区域效果制作: 1.用ul做分类标签 2.把ul的display定义为block使ul区域和下面div区域结合在一起 3.给ul定义一个下边框或者给div内容区域定义一个上边框 4.所有li标签默认样式不设下边框,作为激活显示的li标签加宽其#fff(白色) 区域的下边框,覆盖。 */ *{ margin:0px; padding:0px; font:12px normal; font-family:微软雅黑; } #tabs{ width:290px; height:150px; padding:5px; margin:20px; } #tabs ul{ list-style:none; display:block; height:30px; line-height:30px; } #tabs ul li{ float:left; width:60px; height:28px; line-height:28px; text-align:center; display:inline-block;margin:0px 3px; border:1px solid #aaa;border-bottom:none; cursor:pointer; background:#fff; list-style:none; } #tabs ul li.on{ border-top:2px solid saddlebrown; border-bottom:2px solid #fff; } #tabs div{ height:120px; line-height:25px; border:1px solid #336699;border-top:2px saddlebrown solid;padding:5px; } .hide{display:none;} </style> <script type="text/javascript"> window.onload=function(){ var oTab = document.getElementById("tabs") var li = document.getElementsByTagName("li"); var div = oTab.getElementsByTagName("div");//oTabs.get...是为了定义className作用对象为id为tabs下的所有文本div for(var i=0;i<li.length;i++){//获取所有i编号的元素 li[i].index = i; //定义一个index属性对li进行编号 li[i].onclick = function(){//再注册一个点击事件,当点击的时候所有标签都恢复最初状态 for(var n=0;n<li.length;n++){//这步是相对于未被点击部分的样式 li[n].className = ""; div[n].className = "hide"; } this.className = "on";//再对点击事件添加相应的属性 div[this.index].className = "";//通过之前的index编号绑定的指定div } } } </script> </head> <body> <!-- HTML页面布局 --> <div id="tabs"> <ul> <li class="on">房产</li> <li>家居</li> <li>二手房</li> </ul> <div> 275万购昌平邻铁三居 总价20万买一居<br> 200万内购五环三居 140万安家东三环<br> 北京首现零首付楼盘 53万购东5环50平<br> 京楼盘直降5000 中信府 公园楼王现房<br> </div> <div class="hide"> 40平出租屋大改造 美少女的混搭小窝<br> 经典清新简欧爱家 90平老房焕发新生<br> 新中式的酷色温情 66平撞色活泼家居<br> 瓷砖就像选好老婆 卫生间烟道的设计<br> </div> <div class="hide"> 通州豪华3居260万 二环稀缺2居250w甩<br> 西3环通透2居290万 130万2居限量抢购<br> 黄城根小学学区仅260万 121平70万抛!<br> 独家别墅280万 苏州桥2居优惠价248万<br> </div> </div> </body> </html>