JS实现网页右侧带动画效果的伸缩窗口代码


Posted in Javascript onOctober 29, 2015

本文实例讲述了JS实现网页右侧带动画效果的伸缩窗口代码。分享给大家供大家参考,具体如下:

这是一款带缓冲效果的网页右侧固定伸缩窗口,点击带颜色的区域,浮动的层窗口就会伸缩出来,再次点击则缩进去。无jQuery,完全JavaScript实现的效果。

运行效果截图如下:

JS实现网页右侧带动画效果的伸缩窗口代码

在线演示地址如下:

具体代码如下:

<!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>
<meta http-equiv="content-type" content="text/html;charset=gb2312">
<style type="text/css">
#common_box{width:300px;position:fixed;_position:absolute;right:0;top:40%;border:1px solid #789;background:#fff;z-index:88}
#cli_on{width:30px;height:180px;float:left;cursor:pointer;background:#ac8932;text-align:center;line-height:180px}
</style>
</head>
<body>
<div style="width:100%;height:1024px;background:#789"></div>
<div id="common_box">
 <div id="cli_on">+</div>
 <div>
  这里放置菜单内容
 </div>
</div>
<script type="text/javascript">
window.onload = function() {
 var combox = document.getElementById("common_box");
 var cli_on = document.getElementById("cli_on");
 var flag = true, timer = null, initime = null, r_len = 0;
 cli_on.onclick = function () {
  /*如果不需要动态效果,这两句足矣
  combox.style.right = flag?'-270px':0;
  flag = !flag;
  */
  clearTimeout(initime);
  //根据状态flag执开展开收缩
  if (flag) {
   r_len = 0;
   timer = setInterval(slideright, 10);
  } else {
   r_len = -270;
   timer = setInterval(slideleft, 10);
  }
 }
 //展开
 function slideright() {
  if (r_len <= -270) {
   clearInterval(timer);
   flag = !flag;
   return false;
  } else {
   r_len -= 5;
   combox.style.right = r_len + 'px';
  }
 }
 //收缩
 function slideleft() {
  if (r_len >= 0) {
   clearInterval(timer);
   flag = !flag;
   return false;
  } else {
   r_len += 5;
   combox.style.right = r_len + 'px';
  }
 }
 //加载后3秒页面自动收缩
 initime = setTimeout("cli_on.click()", 3000);
}
</script>
</body>
</html>

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

Javascript 相关文章推荐
node.js中的http.response.addTrailers方法使用说明
Dec 14 Javascript
12行javascript代码绘制一个八卦图
Apr 02 Javascript
AngularJS中如何使用$parse或$eval在运行时对Scope变量赋值
Jan 25 Javascript
JS判断日期格式是否合法的简单实例
Jul 11 Javascript
详解AngularJS如何实现跨域请求
Aug 22 Javascript
JavaScript使用forEach()与jQuery使用each遍历数组时return false 的区别
Aug 26 Javascript
快速使用node.js进行web开发详解
Apr 26 Javascript
Bootstrap弹出框之自定义悬停框标题、内容和样式示例代码
Jul 11 Javascript
vue2中引用及使用 better-scroll的方法详解
Nov 15 Javascript
微信小程序实现Session功能及无法获取session问题的解决方法
May 07 Javascript
2分钟实现一个Vue实时直播系统的示例代码
Jun 05 Javascript
JavaScript的Set数据结构详解
Feb 18 Javascript
JavaScript操作URL的相关内容集锦
Oct 29 #Javascript
js实现完美兼容各大浏览器的人民币大小写相互转换
Oct 29 #Javascript
Jquery+Ajax+PHP+MySQL实现分类列表管理(下)
Oct 28 #Javascript
Jquery+Ajax+PHP+MySQL实现分类列表管理(上)
Oct 28 #Javascript
自己动手写的jquery分页控件(非常简单实用)
Oct 28 #Javascript
Jquery日历插件制作简单日历
Oct 28 #Javascript
使用CoffeeScrip优美方式编写javascript代码
Oct 28 #Javascript
You might like
php根据身份证号码计算年龄的实例代码
2014/01/18 PHP
php实现在线通讯录功能(附源码)
2016/05/13 PHP
JS+PHP实现用户输入数字后显示最大的值及所在位置
2017/06/19 PHP
PHP中有关长整数的一些操作教程
2019/09/11 PHP
JavaScript中的数组特性介绍
2014/12/30 Javascript
对JavaScript客户端应用编程的一些建议
2015/06/24 Javascript
JavaScript实现设计模式中的单例模式的一些技巧总结
2016/05/17 Javascript
JS 拼凑字符串的简单实例
2016/09/02 Javascript
javascript函数中的3个高级技巧
2016/09/22 Javascript
js实现小窗口拖拽效果
2016/12/03 Javascript
微信小程序 特效菜单抽屉效果实例代码
2017/01/11 Javascript
AngularJS执行流程详解
2017/02/17 Javascript
Bootstrap免费字体和图标网站(值得收藏)
2017/03/16 Javascript
浅谈react.js 之 批量添加与删除功能
2017/04/17 Javascript
jQuery:unbind方法的使用详解
2017/08/14 jQuery
vuex的简单使用教程
2018/02/02 Javascript
原生js实现二级联动菜单
2019/11/27 Javascript
es6函数之尾递归用法实例分析
2020/04/25 Javascript
[02:26]DOTA2英雄米拉娜基础教程
2013/11/25 DOTA
[01:29]2017 DOTA2国际邀请赛官方英雄手办展示
2017/03/18 DOTA
使用python开发vim插件及心得分享
2014/11/04 Python
Python实现生成简单的Makefile文件代码示例
2015/03/10 Python
利用QT写一个极简单的图形化Python闹钟程序
2015/04/07 Python
如何利用Fabric自动化你的任务
2016/10/20 Python
python机器学习之贝叶斯分类
2018/03/26 Python
PyQt5每天必学之拖放事件
2020/08/27 Python
Python 使用matplotlib模块模拟掷骰子
2019/08/08 Python
Python计算信息熵实例
2020/06/18 Python
英国最大的专业户外零售商:Mountain Warehouse
2018/06/06 全球购物
《厄运打不垮的信念》教学反思
2014/04/13 职场文书
安全责任书怎么写
2014/07/28 职场文书
成都人事代理协议书
2014/10/25 职场文书
志愿者个人总结
2015/03/03 职场文书
2016年学校爱国卫生月活动总结
2016/04/06 职场文书
变长双向rnn的正确使用姿势教学
2021/05/31 Python
Redisson实现Redis分布式锁的几种方式
2021/08/07 Redis