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>
时间: 2024-10-11 15:48:18

DOM_mail效果的相关文章

Android 导航条效果实现(六) TabLayout+ViewPager+Fragment

TabLayout 一.继承结构 public class TabLayout extends HorizontalScrollView java.lang.Object ? android.view.View ? android.view.ViewGroup ? android.widget.FrameLayout ? android.widget.HorizontalScrollView ? android.support.design.widget.TabLayout 二.TabLayou

CSS3图片轮播效果

原文:CSS3图片轮播效果 在网页中用到图片轮播效果,单纯的隐藏.显示,那再简单不过了,要有动画效果,如果是自己写的话(不用jquery等),可能要费点时间.css3的出现,让动画变得不再是问题,而且简单易用.下面介绍我用css3与js写的一个图片轮播效果. 一般图片轮播就是三四张图片: <div class="wrap"> <div class="carousel"> <div><img src="http://

Android 从无到有打造一个炫酷的进度条效果

从无到有打造一个炫酷的进度条效果

html+css3实现长方体效果

网上大都是正方体的效果,由于做一个东西需要,写了一个HTML+css3实现的长方体,有需要的也可以看看.                   2017-07-25         21:30:23 html代码 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>html+css3实现长方体效果<

鼠标悬停图片移动的效果

当前很多购物网站,像京东,蘑菇街这些都有对展示的图片做这种鼠标悬停图片上移,下移,左移或者右移效果, 实现代码很简单,就用css3的transform便可实现. 下列代码实现的是鼠标悬停,div向上移动30px,鼠标拿开div恢复原始位置. css: <style> div{ margin-top: 100px; width: 100px; height: 100px; background: pink; transition:All 0.4s ease-in-out;//让移动效果变得平滑自

css动画效果

1.2D,3D转换 -1.通过2D,3D转换,我们能够对元素进行移动,缩放,转动,拉长,或拉伸. 转换是使元素改变形状,尺寸和位置的一种效果. 可以使用2D或者3D转换来转换元素. -2.2D(transform)转换方法 1.translate(x,y)移动,第二个参数未提供时默认为0 2.rotate(xdeg)旋转 3.scale(x,y)缩放 4.skew(xdeg,ydeg)倾斜,第二个参数未提供时默认为0 -3.3D转换方法 1.rotateX() 2.rotateY() <!DOC

利用原生JS实现网页1920banner图滚动效果

内容描述:随着PC设备硬件性能的进步和分辨率的不断提高,现在主流网站逐渐开始采用1920banner图,为适应这一趋势,博主设计了1920banner图的滚动效果,代码利用了原生JS实现了1920banner图的切换效果,并针对低分辨率电脑设备进行了适配,实现了JS代码与HTML代码的完全分离,符合w3c的标准使用规范,希望能给各位开发者朋友以帮助和参考.如发现有缺陷和不足,欢迎大家予以指正,如有更好的意见或解决方法,可在评论区交流互动.一下为代码内容: <!DOCTYPE html> <

JS学习笔记(一): 使用原生JS 实现导航栏下多级分类弹出效果

在给静态页面静添加交互效果时遇到的问题 : 鼠标划入二级菜单时 一级菜单样 ":hover" 式无法保持 情景如下: 解决思路: 利用二级菜单的onmouseover/out事件 重新构建一级菜单 ".hover" 样式类 代码如下: CSS部分: 在原来的目标:hover样式中 增加 .hover状态 li.app_jd a:hover,li.app_jd a.hover{ background-position: -126px -397px; } li.serv

javascript照片墙效果

<!doctype html> <html> <head> <meta charset="UTF-8"> <title>锤子-直播照片墙拖拽技术-网站开发-网页特效</title> <style type="text/css"> *{margin:0;padding:0;} body{background:#000000;/*背景填充*/overflow:hidden;} #pers