JavaScript---网络编程(8)-DHTML技术演示(1)-2

简介: JavaScript---网络编程(8)-DHTML技术演示

菜单列表:

代码演示:

<html>
  <head>
    <title>DHTML技术演示---菜单列表1</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     <style type="text/css">
        /*老版本的IE支持,新版本不支持了
        dl{
            height:18px;
            overflow:hidden;
        }*/
        /*
block  :  CSS1  块对象的默认值。将对象强制作为块对象呈递,为对象之后添加新行
none  :  CSS1  隐藏对象。与 visibility 属性的hidden值不同,其不为被隐藏的对象保留其物理空间  
        ul{
            //display:none;//不显示
            display:block;//块显示
        }
        */
        table {
            border:#ff80ff;
            width:80px;
        }
        table ul{
            list-style:none;
            margin:0px;/*外补丁*/
            padding:0px;/*内补丁*/
            background-color:#ff8000;
            display:none;
        }
        table td{
            border:#0000ff 1px solid;
            background:#80ff00;
        }
        table td a:link, table td a:visited{
            color:#8080c0;
            text-decoration:none;
        }
        table td a:hover{
            color:#0000ff;;
        }
        .open{
            display:block;
        }
        .close{
            display:none;
        }
     </style>
     <script type="text/javascript">
        function list(node){
            var oTdNode = node.parentNode;
            //alert( oTdNode.nodeName);//TD
            var oUlNode = oTdNode.getElementsByTagName("ul")[0];
            //alert( oUlNode.nodeName);//UL
            if( oUlNode.className =="open"){
                oUlNode.className ="close";
            }else{
                oUlNode.className ="open";
            }
        }
     </script>
  </head>
  <!--DHTML技术使用的基本思路:
   1. 用标签封装数据---html范畴
   2. 定义样式---css范畴
   3. 明确事件源、事件和要处理的节点---dom范畴
   4. 明确具体的操作方式,其实就是事件的处理内容(过程)---js范畴
  -->
  <body>
    <table>
        <tr>
            <td>
                <a href="javascript:void(0)" onclick="list(this)">文件菜单</a>
                <ul>
                    <li>菜单项一</li>
                    <li>菜单项二</li>
                    <li>菜单项三</li>
                    <li>菜单项四</li>
                </ul>
            </td>
        </tr>
        <tr>
            <td>
                <a href="javascript:void(0)" onclick="list(this)">编辑菜单</a>
                <ul>
                    <li>菜单项一</li>
                    <li>菜单项二</li>
                    <li>菜单项三</li>
                    <li>菜单项四</li>
                </ul>
            </td>
        </tr>
        <tr>
            <td>
                <a href="javascript:void(0)" onclick="list(this)">调试菜单</a>
                <ul>
                    <li>菜单项一</li>
                    <li>菜单项二</li>
                    <li>菜单项三</li>
                    <li>菜单项四</li>
                </ul>
            </td>
        </tr>
    </table>
  </body>
</html>

360 8.1 演示结果;

image.png

下面就是只能点开一个菜单(点一个菜单时,把其他菜单全部关闭):

<html>
    <head>
        <title>DHTML技术演示---菜单列表2</title>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <style type="text/css">
            /*老版本的IE支持,新版本不支持了
             dl{
             height:18px;
             overflow:hidden;
             }*/
            /*
             ul{
             //display:none;//不显示
             display:block;//块显示
             }
             */
            table {
                border: #ff80ff;
                width: 80px;
            }
            table ul {
                list-style: none;
                margin: 0px;
                padding: 0px;
                background-color: #ff8000;
                display: none;
            }
            table td {
                border: #0000ff 1px solid;
                background: #80ff00;
            }
            table td a:link, table td a:visited {
                color: #8080c0;
                text-decoration: none;
            }
            table td a:hover {
                color: #0000ff;;
            }
            .open {
                display: block;
            }
            .close {
                display: none;
            }
        </style>
        <script type="text/javascript">
            function list(node){
                var oTdNode = node.parentNode;
                //alert( oTdNode.nodeName);//TD
                var oUlNode = oTdNode.getElementsByTagName("ul")[0];
                //alert( oUlNode.nodeName);//UL
                var oNode = document.getElementsByName("men");
                for (x = 0; x < oNode.length; x++) {
                    var ulNode = oNode[x].parentNode.getElementsByTagName("ul")[0];
                    if (oNode[x].innerText == node.innerText) {
                        if (ulNode.className == "open") {
                            ulNode.className = "close";
                        }
                        else {
                            ulNode.className = "open";
                        }
                    }
                    else 
                        if (ulNode.className == "open") {
                            ulNode.className = "close";
                        }
                }
            }
        </script>
    </head>
    <!--DHTML技术使用的基本思路:
    1. 用标签封装数据---html范畴
    2. 定义样式---css范畴
    3. 明确事件源、事件和要处理的节点---dom范畴
    4. 明确具体的操作方式,其实就是事件的处理内容(过程)---js范畴
    -->
    <body>
        <table>
            <tr>
                <td>
                    <a href="javascript:void(0)" onclick="list(this)" name="men">文件菜单</a>
                    <ul>
                        <li>
                            菜单项一
                        </li>
                        <li>
                            菜单项二
                        </li>
                        <li>
                            菜单项三
                        </li>
                        <li>
                            菜单项四
                        </li>
                    </ul>
                </td>
            </tr>
            <tr>
                <td>
                    <a href="javascript:void(0)" onclick="list(this)" name="men">编辑菜单</a>
                    <ul>
                        <li>
                            菜单项一
                        </li>
                        <li>
                            菜单项二
                        </li>
                        <li>
                            菜单项三
                        </li>
                        <li>
                            菜单项四
                        </li>
                    </ul>
                </td>
            </tr>
            <tr>
                <td>
                    <a href="javascript:void(0)" onclick="list(this)" name="men">调试菜单</a>
                    <ul>
                        <li>
                            菜单项一
                        </li>
                        <li>
                            菜单项二
                        </li>
                        <li>
                            菜单项三
                        </li>
                        <li>
                            菜单项四
                        </li>
                    </ul>
                </td>
            </tr>
        </table>
    </body>
</html>

演示结果:

image.png

目录
相关文章
|
13天前
|
存储 安全 网络安全
云计算与网络安全:技术融合的未来之路
【10月更文挑战第30天】在数字化浪潮的推动下,云计算已成为企业信息技术架构的核心。然而,随之而来的网络安全问题也日益凸显。本文将探讨云计算与网络安全的关系,分析云服务中的安全挑战,并提出相应的解决方案。我们将通过实例展示如何在云计算环境中实现网络安全的最佳实践,以期为读者提供一条技术融合的未来之路。
|
4天前
|
云安全 安全 网络安全
云计算与网络安全:技术挑战与解决策略
【10月更文挑战第39天】随着云计算技术的飞速发展,网络安全问题也日益凸显。本文将探讨云计算环境下的网络安全挑战,并提出相应的解决策略。通过分析云服务模型、网络安全威胁以及信息安全技术的应用,我们将揭示如何构建一个安全的云计算环境。
|
4天前
|
存储 网络协议 安全
30 道初级网络工程师面试题,涵盖 OSI 模型、TCP/IP 协议栈、IP 地址、子网掩码、VLAN、STP、DHCP、DNS、防火墙、NAT、VPN 等基础知识和技术,帮助小白们充分准备面试,顺利踏入职场
本文精选了 30 道初级网络工程师面试题,涵盖 OSI 模型、TCP/IP 协议栈、IP 地址、子网掩码、VLAN、STP、DHCP、DNS、防火墙、NAT、VPN 等基础知识和技术,帮助小白们充分准备面试,顺利踏入职场。
17 2
|
5天前
|
云安全 安全 网络安全
云计算与网络安全:技术融合的未来之路
【10月更文挑战第38天】 在数字化浪潮中,云计算和网络安全成为支撑现代企业和个人数据安全的两大基石。本文将深入探讨云计算服务如何与网络安全技术相结合,保障信息安全,并分析面临的挑战及未来发展趋势。我们将通过实际案例,揭示云安全的最佳实践,为读者提供一条清晰的技术融合路径。
|
6天前
|
安全 网络安全 数据库
云计算与网络安全:技术融合的未来之路
【10月更文挑战第37天】本文将探讨云计算与网络安全的交汇点,揭示它们如何共同塑造信息安全的未来。我们将深入了解云服务的核心组件、网络安全的关键策略以及两者如何相互增强。通过分析当前的挑战和未来的趋势,本文旨在为读者提供一条清晰的路径,以理解并应对这一不断发展的技术领域。
|
7天前
|
网络协议 数据挖掘 5G
适用于金融和交易应用的低延迟网络:技术、架构与应用
适用于金融和交易应用的低延迟网络:技术、架构与应用
35 5
|
8天前
|
存储 安全 网络安全
云计算与网络安全:技术融合与挑战
【10月更文挑战第35天】本文将探讨云计算与网络安全的交叉点,包括云服务、网络安全和信息安全等技术领域。我们将深入了解云计算的基本概念,以及如何通过云服务实现网络安全和信息安全。同时,我们还将讨论云计算面临的安全挑战,并提出相应的解决方案。最后,我们将通过代码示例展示如何在云计算环境中实现网络安全和信息安全。
23 3
|
9天前
|
存储 安全 网络安全
云计算与网络安全:云服务、网络安全、信息安全等技术领域的深度剖析
【10月更文挑战第34天】本文将深入探讨云计算与网络安全的关系,包括云服务、网络安全、信息安全等技术领域。我们将通过实例和代码示例,解析云计算如何改变网络安全的格局,以及如何在云计算环境下保护信息安全。我们将从云计算的基本概念开始,然后深入到网络安全和信息安全的主题,最后通过代码示例来展示如何在云计算环境下实现网络安全和信息安全。
|
10天前
|
供应链 安全 网络安全
区块链技术与网络安全:机遇与挑战
区块链技术与网络安全:机遇与挑战
36 2
|
11天前
|
机器学习/深度学习 移动开发 自然语言处理
HTML5与神经网络技术的结合有哪些其他应用
HTML5与神经网络技术的结合有哪些其他应用
28 3