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 相关文章推荐
js脚本学习 比较实用的基础
Sep 07 Javascript
JQuery-tableDnD 拖拽的基本使用介绍
Jul 04 Javascript
javascript 密码框防止用户粘贴和复制的实现代码
Feb 17 Javascript
jQuery功能函数详解
Feb 01 Javascript
jQuery中的pushStack实现原理和应用实例
Feb 03 Javascript
jquery读写cookie操作实例分析
Dec 24 Javascript
jQuery插件pagination实现无刷新分页
May 21 Javascript
Bootstrap 过渡效果Transition 模态框(Modal)
Mar 17 Javascript
基于JavaScript实现多级菜单效果
Jul 25 Javascript
jQuery zTree搜索-关键字查询 递归无限层功能实现代码
Jan 25 jQuery
Vue2.x通用条件搜索组件的封装及应用详解
May 28 Javascript
17道题让你彻底理解JS中的类型转换
Aug 08 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加密解密实用类分享
2014/01/07 PHP
php 如何禁用eval() 函数实例详解
2016/12/01 PHP
javascript脚本调试方法小结
2008/11/24 Javascript
jWiard 基于JQuery的强大的向导控件介绍
2011/10/28 Javascript
写JQuery插件的基本知识
2013/11/25 Javascript
ajax请求乱码的解决方法(中文乱码)
2014/04/10 Javascript
javascript使用闭包模拟对象的私有属性和方法
2016/10/05 Javascript
JS实现选定指定HTML元素对象中指定文本内容功能示例
2017/02/13 Javascript
addEventListener()与removeEventListener()解析
2017/04/20 Javascript
vue中使用echarts制作圆环图的实例代码
2018/07/27 Javascript
vue.js实现带日期星期的数字时钟功能示例
2018/08/28 Javascript
使用jquery模拟a标签的click事件无法实现跳转的解决
2018/12/04 jQuery
jQuery实现侧边栏隐藏与显示的方法详解
2018/12/22 jQuery
JS实现盒子拖拽效果
2020/02/06 Javascript
js实现动态时钟
2020/03/12 Javascript
js+for循环实现字符串自动转义的代码(把后面的字符替换前面的字符)
2020/12/24 Javascript
vue3使用vue-count-to组件的实现
2020/12/25 Vue.js
[48:35]2018DOTA2亚洲邀请赛 4.1 小组赛 A组加赛 TNC vs Optic
2018/04/03 DOTA
基于python脚本实现软件的注册功能(机器码+注册码机制)
2016/10/09 Python
centos6.4下python3.6.1安装教程
2017/07/21 Python
selenium在执行phantomjs的API并获取执行结果的方法
2018/12/17 Python
Django框架实现的普通登录案例【使用POST方法】
2019/05/15 Python
对python中return与yield的区别详解
2020/03/12 Python
css3实现超炫风车特效
2014/11/12 HTML / CSS
HTML5中通过li-canvas轻松实现单图、多图、圆角图绘制,单行文字、多行文字等
2018/11/30 HTML / CSS
美国婴儿用品店:Babies”R”Us
2017/10/12 全球购物
英语自荐信范文
2013/12/11 职场文书
《卖木雕的少年》教学反思
2014/04/11 职场文书
我爱我的祖国演讲稿
2014/05/04 职场文书
大学生国庆节65周年演讲稿范文
2014/09/25 职场文书
篮球赛新闻稿
2015/07/17 职场文书
公证书
2019/04/17 职场文书
八年级作文之友谊
2019/12/02 职场文书
教你用Python matplotlib库制作简单的动画
2021/06/11 Python
Java并发编程必备之Future机制
2021/06/30 Java/Android
css3应用示例:新增的选择器
2022/03/16 HTML / CSS