黑马程序员:实现邮件列表功能的学习。

------------------------------------------------------------------android培训java培训、期待与您交流!--------------------------------------------------------
1.掌握的内容有:复选框全选,按钮全选,按钮取消全选,按钮反选,按钮删除所选邮件并弹出确认对话框,行颜色间隔显示,鼠标经过时高亮显示,离开时还原。
2.通过比较自己的代码和教程演示代码,掌握了可以使代码更加简洁的编程思想。

    ☆按钮全选,取消全选,反选可以用一个函数实现。

function checkByButton(num)
{
    var emails = document.getElementsByName("email");
    for(var x=0; x<emails.length; x++)
    {
        if(num<1)
             emails[x].checked = !emails[x].checked;
         else
              emails[x].checked = num;
    }
}

注释:javascript中0为false,非0为true。全选(1),取消全选(0),反选(2)。
 
 

    ☆编程中对非(!)的应用可以简化代码。

function delemail()
{
	if(!confirm( "确定删除所选邮件吗?"))
                  return;
		var emails = document.getElementsByName("email");
	
		for(var x=0; x<emails.length; x++)
		{	
			if(emails[x].checked==true)
			{
				var trNode = emails[x].parentNode.parentNode;
				trNode.parentNode.removeChild(trNode);
				x--;
			}
		}
	trcolor();
}

    ☆上面代码的另一种写法:

function delEmail()
{
	if(!confirm("真的要删除所选邮件吗?"))
		return;
	var emails = document.getElementsByName("email");
	var arr = new array();
	var pos = 0;
	for(var x=0; x<emails.length; x++)
	{
		if(emails[x].checked)
		{
			var trNode = emails[x].parentNode.parentNode;
			arr[pos++] = trNode;
		}
	}
	for(var x=0; x<arr.length; x++)
	{
		var trNode = arr[x];
		trNode.parentNode.removeChild(trNode);
	}
	trColor();
}



 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<style type="text/css">
table,table th,table td{
	border:#F90 1px solid;

}
table{
	width:50%;
}
table th{
	background-color:#6C0;	
}
.one{
	background-color:#9FC;
}
.two{
	background-color:#9F3;
}
.over{
	background-color:#F00;
}
</style>
<script type="text/javascript">
//间隔变色加高亮
var name;
function trColor()
{
	var tabNode = document.getElementsByTagName("table")[0];
	var trs = tabNode.rows;
	for(var x = 1; x<trs.length-1; 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 checkAll(index)
{
	var allNode = document.getElementsByName("all")[index];	
	var emails = document.getElementsByName("email");
	for(var x = 0; x<emails.length; x++)
	{
		emails[x].checked = allNode.checked;	
	}
}
//删除所选邮件
function delemail()
{
	

	if(confirm( "确定删除所选邮件吗?"))
	{
		var emails = document.getElementsByName("email");
	
		for(var x=0; x<emails.length; x++)
		{	
			if(emails[x].checked==true)
			{
				var trNode = emails[x].parentNode.parentNode;
				trNode.parentNode.removeChild(trNode);
				x--;
			}
		}
	}
	trcolor();

}
//全选按钮
function butAll()
{
	var emails = document.getElementsByName("email");
	
	for(var x=0; x<emails.length; x++)
	{
		if(emails[x].checked==false)	
			emails[x].checked = true;
	}
}
//取消全选
function delAll()
{
	var emails = document.getElementsByName("email");
	
	for(var x=0; x<emails.length; x++)
	{
		if(emails[x].checked==true)	
			emails[x].checked = false;
	}
}
//反选
function fanXuan()
{
	var emails = document.getElementsByName("email");
	for(var x=0; x<emails.length; x++)
	{
		if(emails[x].checked==true)
			emails[x].checked = false;
		else
			emails[x].checked = true;
	}
}

</script>

</head>

<body>

<table>
	<tr>
    	<th>
        	<input type="checkbox" name="all" οnclick="checkAll(0)" />全选
        </th>
        <th>
        	收件人
        </th>
    	<th>
        	邮件标题
        </th>
    </tr>
	<tr class="one" >
    	<td>
        	<input type="checkbox" name="email" />
        </td>
        <td>
        	王五01
        </td>
    	<td>
        	新的邮件
        </td>
    </tr>
	<tr class="two">
    	<td>
        	<input type="checkbox" name="email"/>
        </td>
        <td>
        	王五02
        </td>
    	<td>
        	新的邮件
        </td>
    </tr>
	<tr>
    	<td>
        	<input type="checkbox" name="email"/>
        </td>
        <td>
        	王五03
        </td>
    	<td>
        	新的邮件
        </td>
    </tr>
	<tr>
    	<td>
        	<input type="checkbox" name="email" />
        </td>
        <td>
        	王五04
        </td>
    	<td>
        	新的邮件
        </td>
    </tr>
	<tr>
    	<td>
        	<input type="checkbox" name="email"/>
        </td>
        <td>
        	王五05
        </td>
    	<td>
        	新的邮件
        </td>
    </tr>

	<tr>
    	<th>
        	<input type="checkbox" name="all" οnclick="checkAll(1)"/>全选
        </th>
        <th colspan="2">
        	<input type="button" value="全选" οnclick="butAll()"/>
            <input type="button" value="取消全选" οnclick="delAll()"/>
            <input type="button" value="反选" οnclick="fanXuan()" />
            <input type="button" value="删除所选邮件" οnclick="delemail()" />
        </th>
    </tr>

</table>

</body>
</html>
 ---------------------- 
 android培训java培训、期待与您交流! ----------------------详细请查看: 
 http://edu.csdn.net/heima 
Python网络爬虫与推荐算法新闻推荐平台:网络爬虫:通过Python实现新浪新闻的爬取,可爬取新闻页面上的标题、文本、图片、视频链接(保留排版) 推荐算法:权重衰减+标签推荐+区域推荐+热点推荐.zip项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全领域),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明(如有)等。答辩评审平均分达到96分,放心下载使用!可轻松复现,设计报告也可借鉴此项目,该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 【提供帮助】:有任何使用问题欢迎随时与我联系,我会及时解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 下载后请首先打开README文件(如有),项目工程可直接复现复刻,如果基础还行,也可在此程基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值