zoukankan      html  css  js  c++  java
  • DOM_mail效果

    邮箱效果制作:

    步骤:

    1、创建html——>table标签以及子标签——>创建功能标签button/checkbox——>对table th td进行css样式设计——>link标签导入css代码

    2、功能标签事件触发设计:

      (1)行颜色间隔:获取table标签——>获取所有行标签——>遍历行并对className进行样式修改——>利用class选择器设计预定义css样式

      (2)鼠标事件高亮显示行内容:遍历行节点对象时添加鼠标事件——>添加变量记录原来css样式——>onmouseover事件修改css事件——>onmouseout事件引入变量记录css样式进行还原

      (3)全选(checkbox):思路要想获取全选box的节点对象有两个办法一个通过document定位,一个通过this传递;因为这里有2个全选box所以使用this比较方便;创建点击事件——>获取所有box节点——>通过操作checked属性将全选box的chencked属性赋值给每一个box的checked属性

      (4)全选、反选、取消所选(button):思路单独定义每一个功能的js代码可以实现,但是代码繁琐;仔细分析发现三个功能都是对box节点的checked属性进行操作,因此我们可以定义一个功能传递不同的参数来完成这些功能设计;首先同上获取所有box节点并遍历——>通过参数判断确定功能运行代码逻辑(具体查看代码)

      (5)删除邮件:获取box节点并遍历——>找出checked属性=true的box节点——>box节点的父节点是td,td父节点是tr——>思路只要删除tr节点就能删除邮件,所以利用tr父节点删除tr节点;——>需要注意removeChild方法会改变集合长度,所以操作时要保证遍历到每一个box节点(详细查看代码处理方式)

    table{
        width:500px;
        border:1px solid #ccff00;
        border-collapse:collapse;
    }
    table td{
        border:    1px solid #ccff00;
        padding:5px;
    }
    table th{
        background-color:rgb(200,200,200);
        border:1px solid #ccff00;
        padding:5px;
    }
    <html>
    <head>
    <link rel="stylesheet" type="text/css" href="table.css"/>
        <style type="text/css">
        .one{background-color:#ffaadd;}
        .two{background-color:#aaddcc;}
        .over{background-color:#ffcc00;}
        </style>
        <script type="text/javascript">
        var name;
        //颜色间隔显示功能
        function trcolor(){
            var otabNode = document.getElementById("tab_1");
            var otrNodes = otabNode.rows;
            for(var x = 1;x<otrNodes.length;x++){
                if(x%2==1){
                    otrNodes[x].className="one";
                }else{
                    otrNodes[x].className="two";
                }
                otrNodes[x].onmouseover=function(){
                    name=this.className;
                    this.className="over";
                }
                otrNodes[x].onmouseout=function(){
                    this.className=name;
                }
            }
        }
        onload =function (){
            trcolor();
            
        }
        function checkAll(node){
            var collMailNodes = document.getElementsByName("all");
            for(var x=0;x<collMailNodes.length;x++){
                collMailNodes[x].checked=node.checked;
            }
        }
        function checkAllByBut(num){
            var collMailNodes = document.getElementsByName("all");
            for(var x=0;x<collMailNodes.length;x++){
                if(num>1){
                    collMailNodes[x].checked=!collMailNodes[x].checked;
                }else{
                    collMailNodes[x].checked=num;    
                }
            }
        }
        function delMail(){
            if(!confirm("确定删除所选的邮件吗?")){
                return;
                }
            var collMailNodes = document.getElementsByName("all");
            for(var x=0;x<collMailNodes.length;x++){
                if(collMailNodes[x].checked){
                    var otrNode = collMailNodes[x].parentNode.parentNode;
                    otrNode.parentNode.removeChild(otrNode);
                    x--;
                }
            }
            trcolor();
        }
        </script>
    </head>
    <body>
        <table id="tab_1">
            <tr>
                <th>
                    <input type="checkbox" name="all_1" onclick="checkAll(this)"/>全选
                </th>
                <th>
                发件人
                </th>
                <th>
                邮件名称
                </th>
                <th>
                邮件附属信息
                </th>
            </tr>
        <tr>
                <td><input type="checkbox" name="all"/></td>
                <td><a href="javascript:void(0)">mr.Li</a></td>
                <td><a href="javascript:void(0)">邮件(1)</a></td>
                <td><a href="javascript:void(0)">邮件测试</a></td>
            </tr>
            <tr>
                <td><input type="checkbox" name="all"/></td>
                <td><a href="javascript:void(0)">mr.wang</a></td>
                <td><a href="javascript:void(0)">邮件(2)</a></td>
                <td><a href="javascript:void(0)">邮件测试</a></td>
            </tr>
            <tr>
                <td><input type="checkbox" name="all"/></td>
                <td><a href="javascript:void(0)">katy</a></td>
                <td><a href="javascript:void(0)">邮件(3)</a></td>
                <td><a href="javascript:void(0)">邮件测试</a></td>
            </tr>
            <tr>
                <td><input type="checkbox" name="all"/></td>
                <td><a href="javascript:void(0)">java</a></td>
                <td><a href="javascript:void(0)">邮件(4)</a></td>
                <td><a href="javascript:void(0)">邮件测试</a></td>
            </tr>
            <tr>
                <td><input type="checkbox" name="all"/></td>
                <td><a href="javascript:void(0)">killy</a></td>
                <td><a href="javascript:void(0)">邮件(5)</a></td>
                <td><a href="javascript:void(0)">邮件测试</a></td>
            </tr>
            <tr>
                <td><input type="checkbox" name="all"/></td>
                <td><a href="javascript:void(0)">sky</a></td>
                <td><a href="javascript:void(0)">邮件(6)</a></td>
                <td><a href="javascript:void(0)">邮件测试</a></td>
            </tr>
            <tr>
                <td><input type="checkbox" name="all"/></td>
                <td><a href="javascript:void(0)">allies</a></td>
                <td><a href="javascript:void(0)">邮件(7)</a></td>
                <td><a href="javascript:void(0)">邮件测试</a></td>
            </tr>
            <tr>
                <td><input type="checkbox" name="all"/></td>
                <td><a href="javascript:void(0)">jack</a></td>
                <td><a href="javascript:void(0)">邮件(8)</a></td>
                <td><a href="javascript:void(0)">邮件测试</a></td>
            </tr>
            <tr>
                <td><input type="checkbox" name="all"/></td>
                <td><a href="javascript:void(0)">rose</a></td>
                <td><a href="javascript:void(0)">邮件(9)</a></td>
                <td><a href="javascript:void(0)">邮件测试</a></td>
            </tr>
            <tr>
                <th><input type="checkbox" name="all_2" onclick="checkAll(this)"/>全选</th>
                <th colspan="3">
                    <input type="button" name="all_but" value="全选" onclick="checkAllByBut(1)"/>
                    <input type="button" name="all_but" value="取消全选" onclick="checkAllByBut(0)"/>
                    <input type="button" name="all_but" value="反选" onclick="checkAllByBut(2)"/>
                    <input type="button" name="all_but" value="删除所选附件" onclick="delMail()"/>
                </th>
            </tr>
        </table>
    
    </body>
    </html>
  • 相关阅读:
    psp4
    一维循环数组最大子数组求解
    psp3
    psp2
    求二维数组最大连续子数组
    计算连续最大子数组问题
    psp1
    关于30道题目问题
    Java 文件操作
    java iterator
  • 原文地址:https://www.cnblogs.com/wangyinxu/p/7140964.html
Copyright © 2011-2022 走看看