js实现div层缓慢收缩与展开的方法


Posted in Javascript onMay 11, 2015

本文实例讲述了js实现div层缓慢收缩与展开的方法。分享给大家供大家参考。具体分析如下:

这是一个层伸缩与展开的特效代码,带有点动画效果,缓慢展开,DIV+JS联合打造,看上去还不错。不受内容约束,收缩与展开的速度是可以控制的,高度、循环时间也可以改。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>层收缩</title>
<script type="text/javascript">
var mh = 30;//高度
var step = 1;//每次变化的量
var ms = 10;//循环时间
function toggle(o){
 if (!o.tid)o.tid = "_" + Math.random() * 100;
 if (!window.toggler)window.toggler = {};
 if (!window.toggler[o.tid]){
  window.toggler[o.tid]={
   obj:o,
   maxHeight:o.offsetHeight,
   minHeight:mh,
   timer:null,
   action:1
  };
 }
 o.style.height = o.offsetHeight + "px";
 if (window.toggler[o.tid].timer)clearTimeout(window.toggler[o.tid].timer);
 window.toggler[o.tid].action *= -1;
 window.toggler[o.tid].timer = setTimeout("anim('"+o.tid+"')",ms );
}
function anim(id){
 var t = window.toggler[id];
 var o = window.toggler[id].obj;
 if (t.action < 0){
  if (o.offsetHeight <= t.minHeight){
   clearTimeout(t.timer);
   return;
  }
 }
 else{
  if (o.offsetHeight >= t.maxHeight){
   clearTimeout(t.timer);
   return;
  }
 }
 o.style.height = (parseInt(o.style.height, 10) + t.action * step) + "px";
 window.toggler[id].timer = setTimeout("anim('"+id+"')",ms );
}
</script>
<style type="text/css">
div.xx{
 border:solid 1px;overflow:hidden;
}
div.xx h5{
 border:solid 1px;border-width:0 0 1px;
 padding:0;margin:0;height:28px;
 line-height:30px;cursor:pointer;
 background:#eee;
}
</style>
</head>
<body>
<div class="xx"><h5 onclick="toggle(this.parentNode)">点击此处层伸缩</h5>
<p>Tomat6.0的配置视频教程,AVI电影格式,相当清淅了,比起图文版的教程更贴切,
不会配置Tomcat的网友,你可不要错过哦,由于视频抓图挺麻烦的,
试了多次还是抓了一个不太清淅的,大家将就吧。</p>
</div>
</body>
</html>

希望本文所述对大家的javascript程序设计有所帮助。

Javascript 相关文章推荐
javascript 操作文件 实现方法小结
Jul 02 Javascript
使用jQuery内容过滤选择器选择元素实例讲解
Apr 18 Javascript
iframe的父子窗口之间的对象相互调用基本用法
Sep 03 Javascript
jQuery自定义事件的简单实现代码
Jan 27 Javascript
js实现类似MSN提示的页面效果代码分享
Aug 24 Javascript
jquery图片倾斜层叠切换特效代码分享
Aug 27 Javascript
bootstrap jquery dataTable 异步ajax刷新表格数据的实现方法
Feb 10 Javascript
Vuex简单入门
Apr 19 Javascript
20行JS代码实现粘贴板复制功能
Feb 06 Javascript
利用vue.js实现被选中状态的改变方法
Feb 08 Javascript
让webpack+vue-cil项目不再自动打开浏览器的方法
Sep 27 Javascript
小程序实现图片移动缩放效果
May 26 Javascript
JS实现定时自动关闭DIV层提示框的方法
May 11 #Javascript
最精简的JavaScript实现鼠标拖动效果的方法
May 11 #Javascript
JavaScript实现表格点击排序的方法
May 11 #Javascript
JavaScript点击按钮后弹出透明浮动层的方法
May 11 #Javascript
js实现鼠标移到链接文字弹出一个提示层的方法
May 11 #Javascript
js光标定位文本框回车表单提交问题的解决方法
May 11 #Javascript
jQuery子窗体取得父窗体元素的方法
May 11 #Javascript
You might like
常用PHP框架功能对照表
2014/10/23 PHP
深入浅析用PHP实现MVC
2016/03/02 PHP
PHP判断JSON对象是否存在的方法(推荐)
2016/07/06 PHP
无需数据库在线投票调查php代码
2016/07/20 PHP
PHP中的正则表达式实例详解
2017/04/25 PHP
PHP实现登陆并抓取微信列表中最新一组微信消息的方法
2017/07/10 PHP
thinkPHP5框架auth权限控制类与用法示例
2018/06/12 PHP
PHP写API输出的时用echo的原因详解
2019/04/28 PHP
JQuery 实现的页面滚动时浮动窗口控件
2009/07/10 Javascript
javascript下arguments,caller,callee,call,apply示例及理解
2009/12/24 Javascript
理清apply(),call()的区别和关系
2011/08/14 Javascript
JavaScript设计模式之策略模式实例
2014/10/10 Javascript
javascript实现超炫的向上滑行菜单实例
2015/08/03 Javascript
AngularJS基础 ng-show 指令简单示例
2016/08/03 Javascript
Angularjs的Controller间通信机制实例分析
2016/11/07 Javascript
jquery删除数组中重复元素
2016/12/05 Javascript
原生JS实现图片左右轮播
2016/12/30 Javascript
详解使用Vue.Js结合Jquery Ajax加载数据的两种方式
2017/01/10 Javascript
vue上传图片组件编写代码
2017/07/26 Javascript
Node.js静态服务器的实现方法
2018/02/28 Javascript
webpack打包react项目的实现方法
2018/06/21 Javascript
Angular4.0动画操作实例详解
2019/05/10 Javascript
javascript实现摄像头拍照预览
2019/09/30 Javascript
js+css实现全屏侧边栏
2020/06/16 Javascript
Vue+axios封装请求实现前后端分离
2020/10/23 Javascript
python实现分析apache和nginx日志文件并输出访客ip列表的方法
2015/04/04 Python
python如何读写json数据
2018/03/21 Python
解决Matplotlib图表不能在Pycharm中显示的问题
2018/05/24 Python
通过Python模块filecmp 对文件比较的实现方法
2018/06/29 Python
Python动态生成多维数组的方法示例
2018/08/09 Python
django框架面向对象ORM模型继承用法实例分析
2019/07/29 Python
Python实现画图软件功能方法详解
2020/07/28 Python
全球速卖通:AliExpress(国际版淘宝)
2017/09/20 全球购物
Linux如何命名文件--使用文件名时应注意
2012/01/22 面试题
四风问题民主生活会对照检查材料思想汇报
2014/09/27 职场文书
纯 CSS 自定义多行省略的问题(从原理到实现)
2021/11/11 HTML / CSS