A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 秦兰之 于 2013-6-8 10:06 编辑

<title>无标题文档</title>
<style type="text/css">
table,table th, table td{
        border:#0066FF 1px solid;
        width:600px;
        }
table th{
        background-color:#99FF00;
        }
table td{
        text-align:center;
        }
.one{
        background-color:#00FFCC;
        }
.two{
        background-color:#FC6;
        }
.over{
        background-color:#0C9;
        }

</style>

<script type="text/javascript">

var name;
function trColor()
{
        var tabNode=document.getElementById("mailid");
        
        var trs=tabNode.rows;
        
        for(var x=0; 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()
                {
                        name=this.className;        
                }
               
        }
}
window.onload=function()                                                                                                //匿名加载事件。
{
        trColor();        
}
//定义checkbox的全选动作。
function checkAll(index)                                                                                        //将方法中的值作为参数传递进来。
{
        var boxNode=document.getElementsByName("all")[index];                        //获取复选框节点对象的索引值。
        
        var mailNodes=document.getElementsByName("mail");                                //获取单元格中复选框的节点对象。
        
        for(var x=0; x<mailNodes.length; x++)
        {
                mailNodes[x].checked=boxNode.checked;        //?
        }
        
}
//定义按钮的选取效果。
function checkByBut(num)
{
        var mailNodes=document.getElementsByName("mail");                                //获取单元格中复选框的节点对象。
        
        for(var x=0; x<mailNodes.length; x++)
        {
                if(num==2)
                mailNodes[x].checked=!mailNodes[x].checked;
                else
                mailNodes[x].checked=num;
               
                /*
                if(num===1)
                mailNodes[x].checked=true;
                else if(num===0)
                mailNodes[x].checked=false;
                else
                mailNodes[x].checked=!mailNodes[x].checked;
                */
        }
}
//删除所选邮件。
function deleteMail()
{
        if(confirm("你真的要删除所选邮件吗?"))
        {
                var mailNodes=document.getElementsByName("mail");                                //获取单元格中复选框的节点对象。
               
                var arr=[];                                                                                                                //定义一个数组和指针,存储被选中的节点对象。
                var pos=0;
               
                for(var x=0; x<mailNodes.length; x++)
                {
                        if(mailNodes[x].checked)//?
                        {
                                var trNode=mailNodes[x].parentNode.parentNode;//? 无法获取属性“parentNode”的值: 对象为 null 或未定义
                                //alert(mailNodes[x].parentNode.nodeName);
                                //trNode.removeChild(true);
                                arr[pos++]=trNode;
                        }
                }
                //alert(arr.length);                                                                                        //获取要删除的行对象的长度。
               
                for(var x=0; x<arr.length; x++)                                                                        //遍历选中的节点对象数组。
                {
                        arr[x].removeNode(true);        
                }
                trColor();                                                                                                                //删除后的节点对象还是使用行间隔样式效果。
        }
}

</script>

</head>

<body>
<table id="mailid">
        <th><input type="checkbox" name="all" />全选</th>
    <th>发件人</th>
    <th>邮件名称</th>
    <th>邮件附属信息</th>
            <tr>
            <td><input type="checkbox" name="mail" /></td>
            <td>张三11</td>
            <td>我是邮件11</td>
            <td>我是附属信息11</td>   
        </tr>
        <tr>
            <td><input type="checkbox" name="mail"  /></td>
            <td>张三12</td>
            <td>我是邮件12</td>
            <td>我是附属信息12</td>   
        </tr>
        <tr>
            <td><input type="checkbox" name="mail"  /></td>
            <td>张三13</td>
            <td>我是邮件13</td>
            <td>我是附属信息13</td>   
        </tr>
        <tr>
            <td><input type="checkbox" name="mail"  /></td>
            <td>张三14</td>
            <td>我是邮件14</td>
            <td>我是附属信息14</td>   
        </tr>
        <tr>
            <td><input type="checkbox" name="mail"  /></td>
            <td>张三15</td>
            <td>我是邮件15</td>
            <td>我是附属信息15</td>   
        </tr>
        <tr>
            <td><input type="checkbox" name="mail"  /></td>
            <td>张三16</td>
            <td>我是邮件16</td>
            <td>我是附属信息16</td>   
        </tr>
        <tr>
            <td><input type="checkbox" name="mail"  /></td>
            <td>张三17</td>
            <td>我是邮件17</td>
            <td>我是附属信息17</td>   
        </tr>
        <tr>
            <td><input type="checkbox" name="mail"  /></td>
            <td>张三18</td>
            <td>我是邮件18</td>
            <td>我是附属信息18</td>   
        </tr>
        <tr>
            <td><input type="checkbox" name="mail"  /></td>
            <td>张三19</td>
            <td>我是邮件19</td>
            <td>我是附属信息19</td>   
        </tr>
        <tr>
            <td><input type="checkbox" name="mail"  /></td>
            <td>张三b111</td>
            <td>我是邮件b111</td>
            <td>我是附属信息b111</td>   
        </tr>
        <tr>
            <td><input type="checkbox" name="mail"  /></td>
            <td>张三b2</td>
            <td>我是邮件b2</td>
            <td>我是附属信息b2</td>   
        </tr>
        <tr>
            <td><input type="checkbox" name="mail"  /></td>
            <td>张三a1</td>
            <td>我是邮件a1</td>
            <td>我是附属信息a1</td>   
        </tr>
        <tr>
            <td><input type="checkbox" name="mail"  /></td>
            <td>张三a2</td>
            <td>我是邮件a2</td>
            <td>我是附属信息a2</td>   
        </tr>
        <tr>
            <td><input type="checkbox" name="mail"  /></td>
            <td>张三a3</td>
            <td>我是邮件a3</td>
            <td>我是附属信息a3</td>   
        </tr>
        <tr>
            <td><input type="checkbox" name="mail"  /></td>
            <td>张三a4</td>
            <td>我是邮件a4</td>
            <td>我是附属信息a4</td>   
        </tr>
               <th><input type="checkbox"/>全选<!--checkAll(1)-->
        </th>
        <th colspan="3">            
           <input type="button" value="全选" />
           <input type="button" value="取消全选" />
           <input type="button" value="反选" />         
           <input type="button" value="删除所选附件" />
        </th>
      
</table>

</body>
</html>

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 很给力!

查看全部评分

2 个回复

正序浏览
下面的js代码做相应的改动即可
  1. //鼠标悬停的时候要先进入原来的样式,紧跟着再设置新的样式;就要定义一个变量。
  2. trs[x].onmouseover=function()        
  3. {
  4.                 name=this.className;
  5.                 this.className="over";                        
  6. }
  7. trs[x].onmouseout=function()
  8. {
  9.                 //name=this.className;      
  10.                 this.className = name;
  11. }
复制代码
也就是将原来的name=this.className;改成this.className = name;
因为鼠标移出事件触发之后,需要将该对象的className重新置为之前的值,以确保恢复到之前的颜色值。
回复 使用道具 举报
这道题太长了  没说到问题的关键  嘿嘿  一般都不爱看了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马