悬浮窗,点击收缩/展开
来源:互联网 发布:c 网络爬虫 编辑:程序博客网 时间:2024/05/16 08:10
悬浮窗,点击收缩/张开
效果图
说明:点击”+“按钮,悬浮窗收缩/展开
思路
1、在html中定义一个div块,定一个id;一个按钮,点击时用。
2、写一个js,包含收缩以及展开的函数;为按钮添加点击事件。
3、想要让悬浮窗好看点,可设置对应的参数。
步骤
html
<div id="area"> <div id="small_menu"> <ul> <li><a href="#">item one</a></li> <li><a href="#">item two</a></li> <li><a href="#">item three</a></li> <li><a href="#">item four</a></li> <li><a href="#">item five</a></li> </ul> </div> <div id="on" onclick="xuanfu();"><p>+</p></div> </div>
js
var menubox = document.getElementById("area"); //area为菜单栏的id var cli_on = document.getElementById("on"); //on为按钮 var flag = false, timer = null, initime = null, r_len = 0; if(menubox.style.right=== 0){ flag = true; } else{ flag = false; } cli_on.onclick = function () { //为on按钮绑定click事件 clearTimeout(initime); //根据状态flag执开展开收缩 if (flag) { r_len = 0; timer = setInterval(slideright, 10); } else { r_len = -160; timer = setInterval(slideleft, 10); } } //展开 function slideright() { if (r_len <= -160) { clearInterval(timer); flag = !flag; return false; }else{ r_len -= 5; menubox.style.right = r_len + 'px'; } } //收缩 function slideleft() { if (r_len >= 0) { clearInterval(timer); flag = !flag; return false; } else { r_len += 5; menubox.style.right = r_len + 'px'; } }
完整代码
含css,可直接用
<!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><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>悬浮窗</title></head><style type="text/css">#area{ position:fixed; width:160px; right:-160px; top:27%;}#small_menu ul { list-style: none;}#area #on{ position: absolute; top: 40%; right: 100%; width: 30px; height: 30px; cursor: pointer; border-radius: 15px; background-color: rgba(13, 143, 143, 0.2); }#area #on p{ font-size:30px; text-align:center; margin-top:-6px; color:#01E290; }#area #small_menu { width:100%; } #area #small_menu ul li { width:100%; height: 44px; text-align:left; background-color: rgba(2, 27, 38, 0.62); border-top: 1px solid #043B46; line-height: 44px;}#area #small_menu ul li a{ text-decoration: none; margin-left:30px; color: #bfbfbf; font-size:16px; font-family: 'Microsoft Yahei'; }#area #small_menu li.active { width: 156px; background-color: rgba(2, 27, 38, 0.87); border-left: 4px solid #00ffff; border-top: 0px;}#area #small_menu li.active a{ color: #00ffff; }#area #small_menu ul li:hover { width: 156px; background-color: rgba(2, 27, 38, 0.87); border-left: 4px solid #00ffff;}#area #small_menu ul li:hover a{ color: #00ffff; } </style><body> <div id="area"> <div id="small_menu"> <ul> <li><a href="#">item one</a></li> <li><a href="#">item two</a></li> <li><a href="#">item three</a></li> <li><a href="#">item four</a></li> <li><a href="#">item five</a></li> </ul> </div> <div id="on" onclick="xuanfu();"><p>+</p></div> </div><script>//嵌套在页面中,文档初始化时加载。 var menubox = document.getElementById("area"); //area为菜单栏的id var cli_on = document.getElementById("on"); //on为按钮 var flag = false, timer = null, initime = null, r_len = 0; if(menubox.style.right=== 0){ flag = true; } else{ flag = false; } cli_on.onclick = function () { //为on按钮绑定click事件 clearTimeout(initime); //根据状态flag执开展开收缩 if (flag) { r_len = 0; timer = setInterval(slideright, 10); } else { r_len = -160; timer = setInterval(slideleft, 10); } } //展开 function slideright() { if (r_len <= -160) { clearInterval(timer); flag = !flag; return false; }else{ r_len -= 5; menubox.style.right = r_len + 'px'; } } //收缩 function slideleft() { if (r_len >= 0) { clearInterval(timer); flag = !flag; return false; } else { r_len += 5; menubox.style.right = r_len + 'px'; } } </script></body></html>
小结到此。
阅读全文
1 0
- 悬浮窗,点击收缩/展开
- 点击展开收缩
- Jquery点击展开-点击收缩
- 点击后,展开 收缩功能
- Easyui tree 点击展开收缩
- 点击UITableView的cell展开收缩
- 点击UITableView的cell展开收缩
- 点击UITableView的cell展开收缩
- 点击UITableView的cell展开收缩
- 点击UITableView的cell展开收缩
- easyui 点击文字展开和收缩节点
- 点击UITableView的cell展开收缩
- 点击UITableView的cell展开收缩
- jQuery点击展开收缩垂直菜单代码
- ionic v1 添加点击展开/收缩功能
- js 点击展开和收缩效果
- 关于cell点击展开收缩的总结
- 点击显示/隐藏层,点击展开收缩隐藏层
- 微信小程序
- db file scattered read 等待事件
- C++面向对象的学习:写一个数组类
- 常见二叉树基础算法汇总
- kylin构建cube时step1报错MoveTask
- 悬浮窗,点击收缩/展开
- leetcode 150. Evaluate Reverse Polish Notation 逆波兰表达式的计算
- Android问题关于Button控件在布局中正常顺序出现的遮盖其他控件
- 百练2593:Max Sequence
- java学习笔记之: spring-aop
- 使用JSON
- spark<log4j配置控制台日志级别输出>
- 如何在一个textview中使用不同颜色的字体
- SQL常用语句