JS+CSS实现DIV层的展开、收缩效果


Posted in Javascript onJanuary 28, 2016

本文为大家分享的第一个实例:JS控制DIV层的展开、收缩效果。

<html>
<head>
<title>CSS+JS实现一个DIV层的展开/折叠效果</title>
<style>
* { margin:0; padding:0;}
body { text-align:center; font:75% Verdana, Arial, Helvetica, sans-serif;}
h1 { font:125% Arial, Helvetica, sans-serif; text-align:left; font-weight:bolder; background:#555; padding:3px; display:block; color:#99CC00}
.class1 { width:40%; background:#CCCCCC; position:relative; margin:0 auto; padding:5px;}
span { position:absolute; right:10px; top:8px; cursor:pointer; color:yellow;}
p { text-align:left; line-height:20px; background:#555; padding:3px; margin-top:5px; color:#99CC00}
#class1content { height:256px;overflow:hidden}
</style>
<script>
function $(element){
return element = document.getElementById(element);
}
function $D(){
var d=$('class1content');
var h=d.offsetHeight;
var maxh=300;
function dmove(){
h+=50; //层展开速度
if(h>=maxh){
d.style.height='300px';
clearInterval(iIntervalId);
}else{
d.style.display='block';
d.style.height=h+'px';
}
}
iIntervalId=setInterval(dmove,2);
}
function $D2(){
var d=$('class1content');
var h=d.offsetHeight;
var maxh=300;
function dmove(){
h-=50;//层收缩速度
if(h<=0){
d.style.display='none';
clearInterval(iIntervalId);
}else{
d.style.height=h+'px';
}
}
iIntervalId=setInterval(dmove,2);
}
function $use(){
var d=$('class1content');
var sb=$('stateBut');
if(d.style.display=='none'){
$D();
sb.innerHTML='收缩';
}else{
$D2();
sb.innerHTML='展开';
}
}
</script>
</head>
<body>
<div class="class1">
<span id="stateBut" onclick="$use()">收缩</span>
<p id="class1content">三水点靠木。
</p>
</div>
</body>

效果图:

JS+CSS实现DIV层的展开、收缩效果

第二个实例:js 控制展开折叠

<html>
<head>
  <meta http-equiv="Content-Type" content="text/html;charset=gb2312">
  <title>Title</title>
</head>
<body>
<!-- js 控制 展开 隐藏div -->
<img src="image/down.png" onclick="test(this)">  <!--this 指 img 对象 -->

<div id="div2" style="border:1px solid #ccc; width:300px; height:200px; display: block;">
  (1)每个HTML标记都有事件句柄属性。onClick是HTML标记属性,不分大小写。
  (2)HTML标记对应的元素对象也具有事件句柄属性,这个属性必须全小写,因JS区分大小写
</div>
</body>
</html>
<script type="text/javascript">
function test(obj){

  var div1=document.getElementById("div2");
  if(div1.style.display=="block"){
    div1.style.display="none";
    obj.src="image/up.png";
  }else{
    div1.style.display="block";
    obj.src="image/down.png";
  }
}
</script>

以上就是本文的全部内容,希望对大家的学习有所帮助。

Javascript 相关文章推荐
面向对象Javascript核心支持代码分享
May 23 Javascript
幻灯片带网页设计中的20个奇妙应用示例小结
May 27 Javascript
基于JavaScript 数据类型之Boolean类型分析介绍
Apr 19 Javascript
JavaScript类型系统之Object详解
Jan 07 Javascript
ES6记录异步函数的执行时间详解
Aug 31 Javascript
Vuejs第十篇之vuejs父子组件通信
Sep 06 Javascript
JS正则表达式修饰符global(/g)用法分析
Dec 27 Javascript
vue2 如何实现div contenteditable=“true”(类似于v-model)的效果
Feb 08 Javascript
初学者AngularJS的环境搭建过程
Oct 27 Javascript
JavaScript学习总结(一) ECMAScript、BOM、DOM(核心、浏览器对象模型与文档对象模型)
Jan 07 Javascript
性能优化篇之Webpack构建速度优化的建议
Apr 03 Javascript
vue-cli —— 如何局部修改Element样式
Oct 22 Javascript
js+canvas绘制五角星的方法
Jan 28 #Javascript
js+html5实现的自由落体运动效果代码
Jan 28 #Javascript
js判断上传文件后缀名是否合法
Jan 28 #Javascript
Angular中$compile源码分析
Jan 28 #Javascript
实例讲解JS中setTimeout()的用法
Jan 28 #Javascript
jQuery+canvas实现的球体平抛及颜色动态变换效果
Jan 28 #Javascript
jQuery+canvas实现简单的球体斜抛及颜色动态变换效果
Jan 28 #Javascript
You might like
自动生成文章摘要的代码[PHP 版本]
2007/03/20 PHP
学习php分页代码实例
2013/10/24 PHP
zf框架的数据库追踪器使用示例
2014/03/13 PHP
Aster vs KG BO3 第三场2.18
2021/03/10 DOTA
用javascript实现分割提取页面所需内容
2007/05/09 Javascript
jquery 插件实现图片延迟加载效果代码
2010/02/06 Javascript
JS运行耗时操作的延时显示方法
2010/11/19 Javascript
javascript中的缓动效果实现程序
2012/12/29 Javascript
javascript的函数劫持浅析
2016/09/26 Javascript
canvas快速绘制圆形、三角形、矩形、多边形方法介绍
2016/12/29 Javascript
Canvas实现动态的雪花效果
2017/02/13 Javascript
Easyui Tree获取当前选择节点的所有顶级父节点
2017/02/14 Javascript
nodejs socket服务端和客户端简单通信功能
2017/09/14 NodeJs
angularjs实现猜大小功能
2017/10/23 Javascript
JS实现点击拉拽轮播图pc端移动端适配
2018/09/05 Javascript
jQuery实现的模仿雨滴下落动画效果
2018/12/11 jQuery
[43:24]VG vs Serenity 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
Pycharm学习教程(1) 定制外观
2017/05/02 Python
Python3+django2.0+apache2+ubuntu14部署网站上线的方法
2018/07/07 Python
flask框架使用orm连接数据库的方法示例
2018/07/16 Python
Python利用字典破解WIFI密码的方法
2019/02/27 Python
Python 图像处理: 生成二维高斯分布蒙版的实例
2019/07/04 Python
对Django 中request.get和request.post的区别详解
2019/08/12 Python
Python线程障碍对象Barrier原理详解
2019/12/02 Python
python函数声明和调用定义及原理详解
2019/12/02 Python
Pycharm修改python路径过程图解
2020/05/22 Python
keras实现多种分类网络的方式
2020/06/11 Python
python Matplotlib基础--如何添加文本和标注
2021/01/26 Python
傲盾软件面试题
2015/08/17 面试题
服装公司总经理岗位职责
2013/11/30 职场文书
恐龙的灭绝教学反思
2014/02/12 职场文书
2014乡镇领导班子四风对照检查材料思想汇报
2014/10/05 职场文书
缓刑人员思想汇报
2014/10/11 职场文书
北京导游词
2015/02/12 职场文书
素质教育培训心得体会
2016/01/19 职场文书
Go web入门Go pongo2模板引擎
2022/05/20 Golang