HTML-003-模拟IDE代码展开收起功能简单示例

当先我们在日常的编程开发工作中使用编程工具(例如 Eclipse、Sublime 等等)都有相应的代码折叠展开功能,如下图所示,极大的方便了我们的编码工作。

同时,我们在日常的网页,尤其的广大的博客网站的源码展示部分,都采用了此种显示方式,如下图所示(示例引用位置:008-Selenium 操作下拉列表实例-Select):

这么做的意义何在呢?我觉得其实际应用有如下两种:

  1. 内容的展示和隐藏:将用户最关心、感兴趣的内容展示给用户,若用户想继续深入了解,则可通过点击展示或隐藏按钮达到查看、隐藏内容的目的,从而在最小的显示区域,显示出更多用户感兴趣的咨询内容;
  2. 应用于各种在线报告:例如,公司不同职位的人查看报告时,关心的数据不一样,那么就可针对不同的职位展示或隐藏一部分咨询内容,节约相关人员的时间,优化系统体验。不过此种方法也较多的运用于当前的 CI 的日常报告中。

那么该如何实现呢?下面就针对此进行简单的说明,实现此功能简单的步骤如下所示:

  1. 创建一个 div :A,作为父级信息容器
  2. 在容器 A 中创建两个元素,例如:一个 label,用以标示类似 展开/隐藏 的按钮;一个 div : B,作为子级信息容器(初始不显示),此容器存放需要显示的信息
  3. 通过 label 的 onclick 控制子级容器 B 是否显示

直接上码了,敬请各位小主参阅,若有不足之处,敬请大神指正,非常感谢!

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>模拟IDE代码展开收起功能</title>
        <META http-equiv=Content-Type content="text/html; charset=utf-8">
    </head>

    <body>
        <div id="popDiv" style="height:auto!important;height:20px;border:1px solid grey;" >
            <label id="method" type="button" style="width:200px;" onclick="var sta = document.getElementById(‘popTitle‘); var mod = document.getElementById(‘method‘); if(sta.style.display == ‘none‘){sta.style.display=‘‘;mod.innerText=‘-‘;mod.innerHTML=‘-‘;}else{sta.style.display=‘none‘;mod.innerText=‘+‘;mod.innerHTML=‘+‘;};">+</label>

            <div id="popTitle" visibility="hidden" style="display:none;">
                <pre style="word-break:break-all;width:40px;height:200px;">
                    简单示例:模拟 IDE 的代码展开收起功能

                    在日常的网页开发过程中,有一些内容我们不想其在初始页面后就展示,而是选择将其像众多编程 IDE 工具一样,
                    收起相应内容,以将其他用户关注或感兴趣的部分,优先显示给用户。当用户需要查看相应的内容时,通过点击
                    展开或者收起按钮,即可查看隐藏相应的部分。

                    实际应用:
                    1、内容的隐藏和展开
                    2、自动化测试报告日志展示隐藏
                </pre>
            </div>

            <div id="popForm"> <!-- 表单div -->
            </div>
        </div>
    </body>
</html>

实际展示效果如下所示:

当然上述示例,与 IDE 或 cnblogs 中的展示隐藏效果相差甚远,感兴趣的小主们可自行研究,进而实现与 IDE 或 cnblogs 中等同的显示效果,再次不再做详细的说明。

至此, HTML-003-模拟IDE代码展开收起功能简单示例 顺利完结,希望此文能够给初学 HTML 的您一份参考。

最后,非常感谢亲的驻足,希望此文能对亲有所帮助。热烈欢迎亲一起探讨,共同进步。非常感谢! ^_^

时间: 2024-10-27 13:34:44

HTML-003-模拟IDE代码展开收起功能简单示例的相关文章

Vue 实现点击展开/收起 功能

Vue 展开收起功能实现 之前写项目的时候提到了一个需求 展开/收起 所有内容的需求 .因之前一值是重构,自己写功能还是比较少的,于是网上搜了一下,发现很多东西其实是jq的功能 虽然可以拿过来用,但是还是想使用vue 写出原汁原味的模块 demo: <div :class="is_show ? 'new_detail' : 'work_detail'"> <!-- 这里是操作的div 包含的文字 --> <!-- 这里的is--show 就是true/fa

模拟鼠标点击按钮的简单示例

原理 首先枚举到目标按钮所在程序的窗口,然后在该窗口内枚举控件获取控件的句柄,获取到按钮的句柄后可通过SendMessage或者PostMessage来发送消息模拟鼠标点击按钮等交互方式.但是因为枚举窗口和句柄都是使用WIN32 API,所以只能枚举到WIN32的控件,对于那些不是微软提供的控件则表示无能为力了.本示例简单地模拟一个往打字机里面写入数据,点击确认的方法. 主要代码 HWND hBtnAdd = NULL; HWND hEditAdd = NULL; HWND hEditMain

Android Studio中如何设置代码展开或收起

http://www.androidren.com/index.php?qa=310&qa_1=android-studio中如何设置代码展开或收起 Android Studio默认情况下有些代码或注释等是收起来的+.有些时候不符合个人习惯. 修改方法如下: 第一步.打开Preference. 第二步.找到Editor. 第三步.找到Code Folding,在右边面板就可以根据自己喜好修改配置.最后记得Apply和OK. 大概的如图所示:

JS+CSS实现可展开/收起的QQ在线客服悬浮代码

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>JS+CSS实现可展开/收起的QQ在线客服

实现列表二级展开/收起/选择

代码地址如下:http://www.demodashi.com/demo/12628.html 1.先看效果图 2.实现原理 1)通过对UITableView进行分组来实现展开收起的功能: 2)通过cell的model和组model中的是否选中和是否展开的标记字段来记录并实现展开/收起/选择的功能: 3.代码实现 1)创建cell的model类并添加如下属性: // 标记是否选中 @property (nonatomic, assign) BOOL isSelect; // 文字 @proper

eclipse代码自动提示设置、如何配置eclipse的代码自动提示功能?

对于编程人员来说,要记住大量的类名或类方法的名字,着实不是一件容易的事情.如果要IDE能够自动补全代码,那将为我们编程人员带来很大帮助. eclipse代码里面的代码提示功能默认是关闭的,只有输入"."的时候才会提示功能,用vs的用户可能不太习惯这种,vs是输入任何字母都会提示,下面说一下如何修改eclipse配置,开启代码自动提示功能打开 Eclipse  -> Window -> Perferences -> Java -> Editor -> Con

Atitit.ide代码块折叠插件 eclipse

Atitit.ide代码块折叠插件 eclipse 1. User Defined Regions  #region  ...  #endregion  插件com.cb.eclipse.folding 1 2. If else for 折叠插件 1 3. 在eclipse 中开启设置代码折叠功能 Ctrl+Shift+Numpad_Divede(小键盘的/号) 2 4.  2 1. User Defined Regions  #region  ...  #endregion  插件com.cb

【大话QT之八】模拟QQ系统设置面板实现功能

业务需求: 基于网盘客户端的实现,原有网盘的设置面板无论从界面显示还是从业务需求都不能满足我们的正常需求.当前的要求是,模拟QQ系统设置的面板实现当前我们网盘中的基本配置功能.在完成这篇文章时已将基本功能实现完成,虽未整合进网盘客户端中,但基本技术预演已经实现. QQ系统设置面板分析: QQ系统设置面板效果图: QQ系统设置面板功能描述: 由于存在较多的配置,如果每个模块的配置项都设计到一个窗体中,则会存在很多的窗体,不太符合用户的使用体验,且程序编写也比较麻烦.QQ系统设置面板中的实现是,所有

怎样增强MyEclipse的代码自动提示功能

步骤/方法 1 一 般在Eclipse ,MyEclipse代码里面,打个foreach,switch等 这些,是无法得到代码提示的(不信自己试试),其他的就更不用说了,而在Microsoft Visual Studio 里面是得到非常友好的代码提示的.实际上,Eclipse ,MyEclipse代码里面的代码提示功能默认的一般 是点“.”,一般是有了点“.”,才会有代码提示.原理:“Auto Activation triggers for java”这个选项就是指触发代码提示的的选项,把“.”