php 张开收缩显示,js实现可以点击收缩或张开的悬浮窗
本文實(shí)例為大家分享了js實(shí)現(xiàn)懸浮窗的具體代碼,供大家參考,具體內(nèi)容如下
說(shuō)明:點(diǎn)擊”+“按鈕,懸浮窗收縮/展開(kāi)
思路
1、在html中定義一個(gè)div塊,定一個(gè)id;一個(gè)按鈕,點(diǎn)擊時(shí)用。
2、寫(xiě)一個(gè)js,包含收縮以及展開(kāi)的函數(shù);為按鈕添加點(diǎn)擊事件。
3、想要讓?xiě)腋〈昂每袋c(diǎn),可設(shè)置對(duì)應(yīng)的參數(shù)。
步驟
html
- item one
- item two
- item three
- item four
- item five
+
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);
//根據(jù)狀態(tài)flag執(zhí)開(kāi)展開(kāi)收縮
if (flag) {
r_len = 0;
timer = setInterval(slideright, 10);
} else {
r_len = -160;
timer = setInterval(slideleft, 10);
}
}
//展開(kāi)
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,可直接用
懸浮窗#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;
}
- item one
- item two
- item three
- item four
- item five
+
//嵌套在頁(yè)面中,文檔初始化時(shí)加載。
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);
//根據(jù)狀態(tài)flag執(zhí)開(kāi)展開(kāi)收縮
if (flag) {
r_len = 0;
timer = setInterval(slideright, 10);
} else {
r_len = -160;
timer = setInterval(slideleft, 10);
}
}
//展開(kāi)
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';
}
}
小結(jié)到此。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持我們。
時(shí)間: 2017-09-17
總結(jié)
以上是生活随笔為你收集整理的php 张开收缩显示,js实现可以点击收缩或张开的悬浮窗的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: java信用分秒杀系统设计思路,秒杀系统
- 下一篇: java数据库视频教程下载,【No147