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

目录
相关文章
|
5天前
|
存储 安全 网络安全
云计算与网络安全:技术融合的未来之路
【10月更文挑战第30天】在数字化浪潮的推动下,云计算已成为企业信息技术架构的核心。然而,随之而来的网络安全问题也日益凸显。本文将探讨云计算与网络安全的关系,分析云服务中的安全挑战,并提出相应的解决方案。我们将通过实例展示如何在云计算环境中实现网络安全的最佳实践,以期为读者提供一条技术融合的未来之路。
|
1天前
|
存储 安全 网络安全
云计算与网络安全:云服务、网络安全、信息安全等技术领域的深度剖析
【10月更文挑战第34天】本文将深入探讨云计算与网络安全的关系,包括云服务、网络安全、信息安全等技术领域。我们将通过实例和代码示例,解析云计算如何改变网络安全的格局,以及如何在云计算环境下保护信息安全。我们将从云计算的基本概念开始,然后深入到网络安全和信息安全的主题,最后通过代码示例来展示如何在云计算环境下实现网络安全和信息安全。
|
2天前
|
供应链 安全 网络安全
区块链技术与网络安全:机遇与挑战
区块链技术与网络安全:机遇与挑战
14 2
|
3天前
|
机器学习/深度学习 移动开发 自然语言处理
HTML5与神经网络技术的结合有哪些其他应用
HTML5与神经网络技术的结合有哪些其他应用
15 3
|
6天前
|
存储 安全 网络安全
云计算与网络安全:技术融合的双刃剑
【10月更文挑战第28天】本文旨在探索云计算在提供便利和效率的同时,如何成为网络安全领域的一大挑战。我们将从云服务的基本架构出发,分析其在信息安全中的关键作用,进而讨论当前网络安全面临的主要威胁及防御策略。文章还将探讨云计算环境中的数据保护、身份验证和访问控制机制,以及如何通过加密技术和安全协议来增强安全性。最后,我们将展望未来云计算与网络安全的发展趋势,并思考如何平衡技术创新与安全需求。
|
3天前
|
机器学习/深度学习 移动开发 自然语言处理
HTML5与神经网络技术的结合有哪些
HTML5与神经网络技术的结合有哪些
14 2
|
4天前
|
存储 安全 网络安全
云计算与网络安全:技术融合的新篇章
【10月更文挑战第31天】本文将深入探讨云计算与网络安全之间的紧密联系,揭示云服务在信息安全领域的关键作用。文章将通过分析网络安全的挑战、云服务的机遇以及信息安全的未来趋势,为读者提供一个全面的视角。同时,文章还将展示如何通过实际的技术手段和策略来增强云计算环境下的安全性。
12 1
|
4天前
|
JavaScript 前端开发 中间件
JS服务端技术—Node.js知识点
本文介绍了Node.js中的几个重要模块,包括NPM、Buffer、fs模块、path模块、express模块、http模块以及mysql模块。每部分不仅提供了基础概念,还推荐了相关博文供深入学习。特别强调了express模块的使用,包括响应相关函数、中间件、Router和请求体数据解析等内容。文章还讨论了静态资源无法访问的问题及其解决方案,并总结了一些通用设置。适合Node.js初学者参考学习。
16 1
|
6天前
|
存储 安全 网络安全
云计算与网络安全:探索云服务中的信息安全技术
【10月更文挑战第29天】在数字化时代的浪潮中,云计算作为一种革命性的技术,正日益成为企业和个人数据存储与处理的首选方案。然而,随之而来的网络安全问题也愈发复杂和严峻。本文将深入探讨云计算服务中的网络安全挑战,并分析如何通过先进的信息安全技术来加强保护措施。我们将从云服务的基础知识出发,逐步深入到网络安全的各个方面,包括数据加密、身份验证、访问控制等关键技术的应用。通过理论与实践的结合,旨在为读者提供一套全面而实用的云计算安全指南。
|
9天前
|
运维 安全 5G