前端学习_Series2_01.JavaScript_04
来源:互联网 发布:淘宝宝贝详情 编辑:程序博客网 时间:2024/06/08 20:15
收藏的一些细节
- document.write(str)方法可以将指定的内容写入到html文件中,可以加入样式等信息。
window.onload = function(){}
表示在页面加载的时候就加载某个函数。onkeypress=function()
可以获取键盘按下的按键的值,并对按下的按键进行判断,比如
这个函数就可以判断按下的值是不是数字。window的propmt(str1,str2)方法可以弹出一个对话框,其中str1就是对话框的标题,str2就是对话框中默认的输入,返回值是true或者false。
做html的步骤:
1.定义数据封装的标签(就是定义界面)
2.确定事件源
3.注册事件
4.事件处理
5.要考虑到实用性,可以把所有的js和css封装成文件,然后引用
6.要注意css中的样式和js中的样式属性是不一定相同的
获取事件源对象的两种方法
1.通过event对象的srcElement属性
2.将事件源对象通过this传入
- 一些简单的例子:
1.通过按钮实现table中的数据按照行中的某一列的值进行排序,其中js文件如下:
/* 需求:表格中按照年龄的顺序进行排序 思路:1.每个人的信息是一行,那么先将行数据都取出,临时存入到数组中 2.并对数组中的行对象的其中一个单元格中的数据进行排序 3.将排序后的行对象重新添加回表格对象中 * */var b = true;function sortTab() { var tabNode = document.getElementsByTagName("table")[0]; var trs = tabNode.rows; var arr = new Array(); //临时容器中存放的都是表格行对象的引用 for (var x = 1; x < trs.length; x++) { arr[x - 1] = trs[x]; } sortTable(arr); var tbdNode = tabNode.childNodes[1];//这里可以打印一下看看是不是需要的节点// for(var x = 0; x < tbdNode.length; x++){// alert(tbdNode[x].nodeName);// }// alert(tbdNode.nodeName); if (b) { for (var x = 0; x < arr.length; x++) { //alert(arr[x].cells[0].innerText + "......" +arr[x].cells[1].innerText); tbdNode.appendChild(arr[x]); } b = false; } else { for (var x = arr.length - 1; x >= 0; x--) {//这里要注意数组的下标是以length-1结尾的 //alert(arr[x].cells[0].innerText + "......" +arr[x].cells[1].innerText); tbdNode.appendChild(arr[x]); } b = true; }}function sortTable(arr) { for (var x = 0; x < arr.length; x++) { for (var y = x + 1; y < arr.length; y++) { if (parseInt(arr[x].cells[1].innerText) < parseInt(arr[y].cells[1].innerText)) { var tmp = arr[x]; arr[x] = arr[y]; arr[y] = tmp; } } }}/* 行颜色间隔显示 * */var name;//用来记录tr节点原来的样式function trColor(){ var tabNode = document.getElementsByTagName("table")[0]; var trs = tabNode.rows; for(var x = 1; x < trs.length; x++){ if(x % 2 == 1){ trs[x].className = "one"; }else{ trs[x].className = "two"; } trs[x].onmouseover = function(){ name = this.className; this.className = "over"; } trs[x].onmouseout = function(){ this.className = name; } }}window.onload = trColor;/*function over(trNode){ name = trNode.className; trNode.className = "over";}function out(trNode){ trNode.className = name;}*/
其中css文件如下:
table { border: #0066FF 1px solid; width: 60%;}td,th { border: #0066FF 1px solid; text-align: center;}.one{ background-color: #33FFCC;}.two{ background-color: #FFFF66;}.over{ background-color: #00FF00;}
其中HTML代码如下:
2.实现类似css的api文档的效果,即下拉框中选择样式,然后显示样式,代码如下:
3.实现类似电商网站中的对选中商品的金额进行的运算,其中js代码如些:
/*1.获取被选中的checkbox,通过checked属性的状态完成2.获取被选中checkbox的value的金额3.求和4.定义span区域存储总金额//单选和复选这两个组件都有一个属性来表示其选中与否的状态:checked * */function getSum() { var sum = 0; var inputNodes = document.getElementsByName("item"); for (var x = 0; x < inputNodes.length; x++) { if (inputNodes[x].checked == true) { sum += parseInt(inputNodes[x].value); } } var spanNode = document.getElementsByTagName("span")[0]; var str = sum + "元"; spanNode.innerHTML = str.fontsize(6);}function checkAll(index) { //可以使用角标,也可以使用this或者event.srcElement传入 var inputNodes = document.getElementsByName("item"); for (var x = 0; x < inputNodes.length; x++) { inputNodes[x].checked = document.getElementsByName("all")[index].checked; }}
其中HTML代码如下:
4.未完待续
0 0
- 前端学习_Series2_01.JavaScript_04
- 前端学习_Series2_01.HTML
- 前端学习_Series2_01.CSS
- 前端学习_Series2_01.JavaScript_01
- 前端学习_Series2_01.JavaScript_02
- 前端学习_Series2_01.JavaScript_03
- 前端学习_Series2_01.JavaScript_05
- JavaScript_04
- JavaScript_04 对象
- 前端学习
- 前端学习
- 前端学习
- 【前端学习】
- 前端学习
- 学习前端
- 前端学习
- 前端学习
- 前端学习
- 使用管道实现两个进程之间的通信
- LDAP与数据库的比较
- Matlab坐标修改 gca
- 上传数据脚本
- HTML5 WebSocket
- 前端学习_Series2_01.JavaScript_04
- Matlab中对图像应用plot或者rectangle后的图像保存问题
- Java-2
- 枚举类&Class类常用方法(Java核心卷1-D6)
- org/apache/hadoop/hbase/CompatibilityFactory(scan)没有找到类的解决办法
- 一些题目小结6.28
- fork与vfork函数
- Mysql中实现树状结构的所有子节点的查询
- FFT的物理意义