zoukankan
html css js c++ java
弹出窗口功能的实现
方法一:
<!
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
>
<
style
>
html,body
{
}
{
font-size
:
12px
;
margin
:
0px
;
height
:
100%
;
}
.mesWindow
{
}
{
border
:
#666 1px solid
;
background
:
#fff
;
}
.mesWindowTop
{
}
{
border-bottom
:
#eee 1px solid
;
margin-left
:
4px
;
padding
:
3px
;
font-weight
:
bold
;
text-align
:
left
;
font-size
:
12px
;
}
.mesWindowContent
{
}
{
margin
:
4px
;
font-size
:
12px
;
}
.mesWindow .close
{
}
{
height
:
15px
;
width
:
28px
;
border
:
none
;
cursor
:
pointer
;
text-decoration
:
underline
;
background
:
#fff
}
</
style
>
<
script
>
var
isIe
=
(document.all)
?
true
:
false
;
//
设置select的可见状态
function
setSelectState(state)
{
var
objl
=
document.getElementsByTagName('select');
for
(
var
i
=
0
;i
<
objl.length;i
++
)
{
objl[i].style.visibility
=
state;
}
}
function
mousePosition(ev)
{
if
(ev.pageX
||
ev.pageY)
{
return
{x:ev.pageX, y:ev.pageY}
;
}
return
{
x:ev.clientX
+
document.body.scrollLeft
-
document.body.clientLeft,y:ev.clientY
+
document.body.scrollTop
-
document.body.clientTop
}
;
}
//
弹出方法
function
showMessageBox(wTitle,content,pos,wWidth)
{
closeWindow();
var
bWidth
=
parseInt(document.documentElement.scrollWidth);
var
bHeight
=
parseInt(document.documentElement.scrollHeight);
if
(isIe)
{
setSelectState('hidden');}
var
back
=
document.createElement(
"
div
"
);
back.id
=
"
back
"
;
var
styleStr
=
"
top:0px;left:0px;position:absolute;background:#666;
"
+
bWidth
+
"
px;height:
"
+
bHeight
+
"
px;
"
;
styleStr
+=
(isIe)
?
"
filter:alpha(opacity=40);
"
:
"
opacity:0.40;
"
;
back.style.cssText
=
styleStr;
document.body.appendChild(back);
var
mesW
=
document.createElement(
"
div
"
);
mesW.id
=
"
mesWindow
"
;
mesW.className
=
"
mesWindow
"
;
mesW.innerHTML
=
"
<div class='mesWindowTop'><table width='100%' height='100%'><tr><td>
"
+
wTitle
+
"
</td><td style='1px;'><input type='button' onclick='closeWindow();' title='关闭窗口' class='close' value='关闭' /></td></tr></table></div><div class='mesWindowContent' id='mesWindowContent'>
"
+
content
+
"
</div><div class='mesWindowBottom'></div>
"
;
styleStr
=
"
left:
"
+
(((pos.x
-
wWidth)
>
0
)
?
(pos.x
-
wWidth):pos.x)
+
"
px;top:
"
+
(pos.y)
+
"
px;position:absolute;
"
+
wWidth
+
"
px;
"
;
mesW.style.cssText
=
styleStr;
document.body.appendChild(mesW);
}
function
showBackground(obj,endInt)
{
obj.filters.alpha.opacity
+=
1
;
if
(obj.filters.alpha.opacity
<
endInt)
{
setTimeout(
function
()
{showBackground(obj,endInt)}
,
8
);
}
}
//
关闭窗口
function
closeWindow()
{
if
(document.getElementById('back')
!=
null
)
{
document.getElementById('back').parentNode.removeChild(document.getElementById('back'));
}
if
(document.getElementById('mesWindow')
!=
null
)
{
document.getElementById('mesWindow').parentNode.removeChild(document.getElementById('mesWindow'));
}
if
(isIe)
{
setSelectState('');}
}
//
测试弹出
function
testMessageBox(ev)
{
var
objPos
=
mousePosition(ev);
messContent
=
"
<div style='padding:20px 0 20px 0;text-align:center'>消息正文</div>
"
;
showMessageBox('窗口标题',messContent,objPos,
350
);
}
</
script
>
</
head
>
<
body
>
<
div
style
="padding:20px"
>
<
div
style
="text-align:left"
;
><
a
href
="#none"
onclick
="testMessageBox(event);"
>
弹出窗口
</
a
></
div
>
<
div
style
="text-align:left;padding-left:20px;padding-top:10px"
;
><
select
><
option
>
下拉
</
option
></
select
>
弹出窗口时会将其隐藏,关闭时会让其显示,目的是在IE中防止弹出的DIV挡不住下拉框
</
div
>
<
div
style
="text-align:center"
;
><
a
href
="#none"
onclick
="testMessageBox(event);"
>
弹出窗口
</
a
></
div
>
<
div
style
="text-align:right"
;
><
a
href
="#none"
onclick
="testMessageBox(event);"
>
弹出窗口
</
a
></
div
>
</
div
>
</
body
>
</
html
>
方法二:
<!
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
>
<
style
>
html,body
{
}
{
font-size
:
12px
;
margin
:
0px
;
height
:
100%
;
}
.mesWindow
{
}
{
border
:
#666 1px solid
;
background
:
#fff
;
}
.mesWindowTop
{
}
{
border-bottom
:
#eee 1px solid
;
margin-left
:
4px
;
padding
:
3px
;
font-weight
:
bold
;
text-align
:
left
;
font-size
:
12px
;
}
.mesWindowContent
{
}
{
margin
:
4px
;
font-size
:
12px
;
}
.mesWindow .close
{
}
{
height
:
15px
;
width
:
28px
;
border
:
none
;
cursor
:
pointer
;
text-decoration
:
underline
;
background
:
#fff
}
</
style
>
<
script
>
var
isIe
=
(document.all)
?
true
:
false
;
//
设置select的可见状态
function
setSelectState(state)
{
var
objl
=
document.getElementsByTagName('select');
for
(
var
i
=
0
;i
<
objl.length;i
++
)
{
objl[i].style.visibility
=
state;
}
}
function
mousePosition(ev)
{
if
(ev.pageX
||
ev.pageY)
{
return
{x:ev.pageX, y:ev.pageY}
;
}
return
{
x:ev.clientX
+
document.body.scrollLeft
-
document.body.clientLeft,y:ev.clientY
+
document.body.scrollTop
-
document.body.clientTop
}
;
}
//
弹出方法
function
showMessageBox(wTitle,content,pos,wWidth)
{
closeWindow();
var
bWidth
=
parseInt(document.documentElement.scrollWidth);
var
bHeight
=
parseInt(document.documentElement.scrollHeight);
if
(isIe)
{
setSelectState('hidden');}
var
back
=
document.createElement(
"
div
"
);
back.id
=
"
back
"
;
var
styleStr
=
"
top:0px;left:0px;position:absolute;background:#666;
"
+
bWidth
+
"
px;height:
"
+
bHeight
+
"
px;
"
;
styleStr
+=
(isIe)
?
"
filter:alpha(opacity=0);
"
:
"
opacity:0;
"
;
back.style.cssText
=
styleStr;
document.body.appendChild(back);
showBackground(back,
50
);
var
mesW
=
document.createElement(
"
div
"
);
mesW.id
=
"
mesWindow
"
;
mesW.className
=
"
mesWindow
"
;
mesW.innerHTML
=
"
<div class='mesWindowTop'><table width='100%' height='100%'><tr><td>
"
+
wTitle
+
"
</td><td style='1px;'><input type='button' onclick='closeWindow();' title='关闭窗口' class='close' value='关闭' /></td></tr></table></div><div class='mesWindowContent' id='mesWindowContent'>
"
+
content
+
"
</div><div class='mesWindowBottom'></div>
"
;
styleStr
=
"
left:
"
+
(((pos.x
-
wWidth)
>
0
)
?
(pos.x
-
wWidth):pos.x)
+
"
px;top:
"
+
(pos.y)
+
"
px;position:absolute;
"
+
wWidth
+
"
px;
"
;
mesW.style.cssText
=
styleStr;
document.body.appendChild(mesW);
}
//
让背景渐渐变暗
function
showBackground(obj,endInt)
{
if
(isIe)
{
obj.filters.alpha.opacity
+=
1
;
if
(obj.filters.alpha.opacity
<
endInt)
{
setTimeout(
function
()
{showBackground(obj,endInt)}
,
5
);
}
}
else
{
var
al
=
parseFloat(obj.style.opacity);al
+=
0.01
;
obj.style.opacity
=
al;
if
(al
<
(endInt
/
100
))
{setTimeout(
function
()
{showBackground(obj,endInt)}
,
5
);}
}
}
//
关闭窗口
function
closeWindow()
{
if
(document.getElementById('back')
!=
null
)
{
document.getElementById('back').parentNode.removeChild(document.getElementById('back'));
}
if
(document.getElementById('mesWindow')
!=
null
)
{
document.getElementById('mesWindow').parentNode.removeChild(document.getElementById('mesWindow'));
}
if
(isIe)
{
setSelectState('');}
}
//
测试弹出
function
testMessageBox(ev)
{
var
objPos
=
mousePosition(ev);
messContent
=
"
<div style='padding:20px 0 20px 0;text-align:center'>消息正文</div>
"
;
showMessageBox('窗口标题',messContent,objPos,
350
);
}
</
script
>
</
head
>
<
body
>
<
div
style
="padding:20px"
>
<
div
style
="text-align:left"
;
><
a
href
="#none"
onclick
="testMessageBox(event);"
>
弹出窗口
</
a
></
div
>
<
div
style
="text-align:left;padding-left:20px;padding-top:10px"
;
><
select
ID
="Select1"
NAME
="Select1"
><
option
>
下拉
</
option
></
select
>
弹出窗口时会将其隐藏,关闭时会让其显示,目的是在IE中防止弹出的DIV挡不住下拉框
</
div
>
<
div
style
="text-align:center"
;
><
a
href
="#none"
onclick
="testMessageBox(event);"
>
弹出窗口
</
a
></
div
>
<
div
style
="text-align:right"
;
><
a
href
="#none"
onclick
="testMessageBox(event);"
>
弹出窗口
</
a
></
div
>
</
div
>
</
body
>
</
html
>
查看全文
相关阅读:
Codeforces Round #649 (Div. 2) D. Ehab's Last Corollary
Educational Codeforces Round 89 (Rated for Div. 2) E. Two Arrays
Educational Codeforces Round 89 (Rated for Div. 2) D. Two Divisors
Codeforces Round #647 (Div. 2) E. Johnny and Grandmaster
Codeforces Round #647 (Div. 2) F. Johnny and Megan's Necklace
Codeforces Round #648 (Div. 2) G. Secure Password
Codeforces Round #646 (Div. 2) F. Rotating Substrings
C++STL常见用法
各类学习慕课(不定期更新
高阶等差数列
原文地址:https://www.cnblogs.com/wzyexf/p/911877.html
最新文章
win10下使用eclipse+Tomact进行web项目编写
hadoop伪态式分布
HDFS的常用操作命令
JDK、MySQL、Tomcat服务器部署
MobaXterm客户端连接Linux操作系统
Ngnix+Tomcat实现负载均衡
安装CentOs系统
多线程实现
dart中类详细讲解
让你看懂dart中静态成员和继承
热门文章
微信小程序音频播放
小程序音频播放详解
小程序和h5垂直时间轴
小程序textarea设置maxlength后不是你想的那样简单
flutter中 ListView的使用
flutter中ListView的详细讲解
Fluttter基础组件Image的使用
微信小程序上拉触底事件onReachBottom不触发的解决方案
Educational Codeforces Round 90 (Rated for Div. 2)
Educational Codeforces Round 90 (Rated for Div. 2)
Copyright © 2011-2022 走看看