<!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>无标题页</title>
    <style type="text/css">
        #DivData
        ...{
            overflow:hidden;/**//*层内的数据超过层的显示范围时隐藏*/
            z-index: 101; 
            left: 304px; 
            width: 450px; 
            position: absolute; /**//*绝对定位,设置层的显示位置*/
            height: 0px; /**//*初始高度*/
            background-color:#ff9933;
        }
    </style>
    <script type="text/javascript">
        var lwheight=350;/**//*最大的高度*/
        var lwminheight=0;/**//*最小的高度*/
        var DivData;/**//*层对象,方便跨越函数使用*/
        function ShowDiv(sender)
        ...{
            DivData=document.getElementById("DivData");
            DivData.style.top=sender.offsetTop+sender.offsetHeight;/**//*设置层的初始位置,根据文本框的位置设置*/
            DivData.style.left=sender.offsetLeft;
            ShowOffset();//开始展开的效果
        }
        function ShowOffset()
        ...{
            var nowoffest=parseInt(DivData.offsetHeight);//获取层的现有高度
            if(nowoffest<lwheight)//判断现有高度是否小于最大高度
            ...{
                if(DivData!=null)//如果层对象存在
                ...{
                    DivData.style.height=(nowoffest+10)+"px";//重新改变层的高度
                }
                ti=window.setTimeout("ShowOffset()",40);//设置定时器,每40毫秒高度改变10px;
            }
        }
        function HidOffest()//显示的一个逆向过程
        ...{
            var nowoffest=parseInt(DivData.offsetHeight);
            if(ti!=null)//如果ti不为空的话就话就是说层处于展开的效果中,这是时候如果收缩的话必须先取消展开的效果
            ...{
                window.clearTimeout(ti);//取消展开的效果
            }
            if(nowoffest>lwminheight)
            ...{
                if(DivData!=null)
                ...{
                    DivData.style.height=(nowoffest-10)+"px";
                }
                window.setTimeout("HidOffest()",40);
            }
        }
        function SetValue(sender)
        ...{
            document.getElementById("TBSelectData").value=sender.value;
        }
    </script>
</head>
<body>
 <div style="margin-top:50; margin-left:100px">
        <input type="text" id="TBSelectData" style="position:relative" onclick="ShowDiv(this)" value="a" /><!--position:relative是必须的,为了设置展开的层处于文本框下-->
        <div id="DivData" style="">
<br />
            <input type=button value="bt1" onclick="HidOffest();SetValue(this)" />
            <input type=button value="bt2" onclick="HidOffest();SetValue(this)" />
        </div>
    </div>
</body>
</html>

转载于:https://www.cnblogs.com/zhuibobo/articles/978836.html

JavaScript笔记(展开的层)-4相关推荐

  1. 狂神Javascript笔记

    学习狂神JavaScript所记录的笔记 Javascript笔记 一.前端核心分析 1.1.概述 Soc原则:关注点分离原则 Vue 的核心库只关注视图层,方便与第三方库或既有项目整合. HTML ...

  2. JavaScript笔记(狂神说)

    JavaScript笔记(狂神说) 本文章根据b站狂神说javascript视频教程整理 视频链接:https://www.bilibili.com/video/BV1JJ41177di?from=s ...

  3. javascript笔记:深入分析javascript里对象的创建(上)续篇

    今天回来一看我的博客居然有这么多人推荐真是开心极了,看来大家对我的研究有了认可,写博客的动力越来越大了,而且我发现写javascript在博客园里比较受欢迎,写java的受众似乎少多了,可能博客园里j ...

  4. JavaScript 笔记Day1

    <JavaScript 笔记> JavaScript 是属于网络的脚本语言! JavaScript 是世界上最流行的编程语言.这门语言可用于 HTML 和 web,更可广泛用于服务器.PC ...

  5. JavaScript笔记整理

    JavaScript笔记整理 这段时间没有之前花在学习上的时间多了 目前进度还停留在JavaScript和D3.js(这个目前只找到了教程) 主要原因是因为决定自己找单位实习,到了今天26号才有了眉目 ...

  6. [Effective JavaScript 笔记]第27条:使用闭包而不是字符串来封装代码

    函数是一种将代码作为数据结构存储的便利方式,代码之后可以被执行.这使得富有表现力的高阶函数抽象如map和forEach成为可能.它也是js异步I/O方法的核心.与此同时,也可以将代码表示为字符串的形式 ...

  7. Web前端JavaScript笔记(4)节点

    如何获取元素节点的属性: 在Web前端JavaScript笔记(3)对象中,介绍了访问行间属性的方法,除此之外,系统还提供了三个方法访问元素的属性: 1. setAttribute: 2. getAt ...

  8. 【JavaScript笔记 · 基础篇(五)】Array全家桶(引用数据类型中的数组 / Array对象 / Array.prototype)

    文章目录 一. 引用数据类型中的数组 1.1 概述 1.2 初始化 1.2.1 字面量 1.2.2 构造函数模式 1.3 访问 1.4 length属性 1.5 数组遍历 1.6 类数组对象 1.6. ...

  9. 尚硅谷李立超JavaScript笔记

    李立超老师JavaScript笔记 目录 1.JS简介 2.JS的HelloWorld 3.JS代码编写的位置 4.JS的基本语法 5.字面量与变量 6.标识符 7.数据类型 8.强制类型转换 1. ...

  10. JavaScript笔记(一)

    JavaScript笔记(一) 1 JavaScript简介 JavaScript,就是我们通常所说的JS,是一种嵌入到HTML页面中的脚本语言,由浏览器一边解释一边执行. 我们在"HTML ...

最新文章

  1. 设计模式——3单例模式(Singleton)
  2. 容量是GPT-2的1.7倍!谷歌打造神经对话模型Meena
  3. mysql,mairadb启动脚本
  4. 重新理解@Resource注解
  5. 13、Power Query-逆透视列的解析(上)
  6. matlab制作小工具,Matlab有用的小工具小技巧
  7. 《货币是个什么东西》笔记
  8. junit基础学习之-断言注解(3)
  9. webstrom使用方法
  10. ejb+jpa_使用Arquillian(包括JPA,EJB,Bean验证和CDI)测试Java EE 6
  11. hive 的条件判断(if、coalesce、case)
  12. cobbler get-loaders 通过代理下载
  13. Dubbo_异常_Service启动时默认将方法注册到内网IP
  14. mini2440 uboot使用nfs方式引导内核,文件系统
  15. CCNA 笔记-11
  16. 数据库系统概论重点总结
  17. Unity 动态更改鼠标样式
  18. 【源码】MATLAB的专业绘图工具
  19. 《Dreamweaver CS6 完全自学教程》笔记 第十四章:使用 CSS 设计网页
  20. OSChina 周五乱弹 —— 是时候动手了

热门文章

  1. BFGS优化算法简介
  2. Java多线程系列--“JUC集合”
  3. 和ufs_宏旺半导体告诉你手机eMMC和UFS到底是什么意思?有什么区别?
  4. mysql8.0创建用户权限,详解mysql8.0创建用户授予权限报错解决方法
  5. OBCA认证培训课程-分布式事务 MVCC 事务隔离级别
  6. STM 事务 ACID
  7. ajax怎么在服务器返回值,node.js+Ajax实现获取HTTP服务器返回数据?
  8. edi python_在不从edi运行的情况下调用python函数
  9. 二相漏电断路器接线图_怎么看配电柜接线图?配电柜接线图读图技巧
  10. html a 的写法,HTML超链接a标记CSS样式写法示例