JavaScript控制网页层收起和展开效果的方法


Posted in Javascript onApril 15, 2015

本文实例讲述了JavaScript控制网页层收起和展开效果的方法。分享给大家供大家参考。具体如下:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">  
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
<title>很酷的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:#333; padding:3px;
display:block; color:#99CC00
}
.class1 {
width:40%; background:#CCC;
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:#333; padding:3px; margin-top:5px;
color:#99CC00
}
#class1content {
height:300px;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">
<h1>DIV层的展开隐藏效果</h1>
<span id="stateBut" onclick="$use()">展开</span>
<p id="class1content">曾经有一份真诚的爱情放在我面前, 
<br>我没有珍惜,<br>等我失去的时候我才后悔莫及,
<br>人世间最痛苦的事莫过于此。
<br>如果上天能够给我一个再来一次的机会,
<br>我会对那个女孩子说三个字:<br>我爱你。
<br>如果非要在这份爱上加上一个期限,
<br>我希望是……一万年!”
</div>
</body>
</html>

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

Javascript 相关文章推荐
prototype 学习笔记整理
Jul 17 Javascript
js动态修改input输入框的type属性(实现方法解析)
Nov 13 Javascript
js调用打印机打印网页字体总是缩小一号的解决方法
Jan 24 Javascript
一个JS函数搞定网页标题(title)闪动效果
May 13 Javascript
setTimeout内不支持jquery的选择器的解决方案
Apr 28 Javascript
jQuery实现类似标签风格的导航菜单效果代码
Aug 25 Javascript
jQuery实现切换页面过渡动画效果
Oct 29 Javascript
jQuery中ajax的load()与post()方法实例详解
Jan 05 Javascript
angular2使用简单介绍
Mar 01 Javascript
深入浅析JavaScript的API设计原则
Jun 14 Javascript
深入了解Hybrid App技术的相关知识
Jul 17 Javascript
vue input标签通用指令校验的实现
Nov 05 Javascript
JS扩展方法实例分析
Apr 15 #Javascript
JavaScript实现简单的二级导航菜单实例
Apr 15 #Javascript
JQuery radio(单选按钮)操作方法汇总
Apr 15 #Javascript
JavaScript判断前缀、后缀是否是空格的方法
Apr 15 #Javascript
JQuery控制radio选中和不选中方法总结
Apr 15 #Javascript
jquery插件star-rating.js实现星级评分特效
Apr 15 #Javascript
JQuery判断radio(单选框)是否选中和获取选中值方法总结
Apr 15 #Javascript
You might like
全国FM电台频率大全 - 5 内蒙古自治区
2020/03/11 无线电
消息持续发送的完整例子
2006/10/09 PHP
php字符串截取中文截取2,单字节截取模式
2007/12/10 PHP
php 转换字符串编码 iconv与mb_convert_encoding的区别说明
2011/11/10 PHP
php Xdebug的安装与使用详解
2013/06/20 PHP
对比PHP对MySQL的缓冲查询和无缓冲查询
2016/07/01 PHP
php通过会话控制实现身份验证实例
2016/10/18 PHP
PHP图像处理技术实例总结【绘图、水印、验证码、图像压缩】
2018/12/08 PHP
php面试实现反射注入的详细方法
2019/09/30 PHP
ASP.NET jQuery 实例9  通过控件hyperlink实现返回顶部效果
2012/02/03 Javascript
表单类各种类型(文本框)失去焦点效果jquery代码
2013/04/26 Javascript
JavaScript中数据结构与算法(一):栈
2015/06/19 Javascript
JavaScript BASE64算法实现(完美解决中文乱码)
2017/01/10 Javascript
Vue 中的受控与非受控组件的实现
2018/12/17 Javascript
js实现滑动进度条效果
2020/08/21 Javascript
python抓取网页图片并放到指定文件夹
2014/04/24 Python
Pycharm设置界面全黑的方法
2018/05/23 Python
python3.6.3+opencv3.3.0实现动态人脸捕获
2018/05/25 Python
使用Python横向合并excel文件的实例
2018/12/11 Python
python虚拟环境完美部署教程
2019/08/06 Python
HTML5 Canvas API中drawImage()方法的使用实例
2016/03/25 HTML / CSS
阿迪达斯西班牙官方网站:adidas西班牙
2016/07/21 全球购物
英国剑桥包官网:The Cambridge Satchel Company
2016/08/01 全球购物
享誉全球的多元化时尚精品购物平台:Farfetch发发奇(支持中文)
2017/08/08 全球购物
nohup的用法
2012/11/26 面试题
一套Delphi的笔试题一
2016/02/14 面试题
信息技术培训感言
2014/03/06 职场文书
环保公益策划方案
2014/08/15 职场文书
交通事故赔偿协议书怎么写
2014/10/04 职场文书
写给领导的感谢信
2015/01/22 职场文书
小学六一儿童节活动总结
2015/05/05 职场文书
python元组打包和解包过程详解
2021/08/02 Python
Python turtle编写简单的球类小游戏
2022/03/31 Python
《进击的巨人》新联动CM 兵长强势出击兽巨人
2022/04/05 日漫
Python之matplotlib绘制折线图
2022/04/13 Python
MySQL优化之慢日志查询
2022/06/10 MySQL