<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<style type="text/css">
html, body
{
font-size: 12px;
margin: 0px;
height: 100%;
}
.mesWindow
{
z-index: 1001;
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;
height: 20px;
cursor: move;
}
.mesWindowContent
{
margin: 4px;
font-size: 12px;
vertical-align: middle;
}
.mesWindow .close
{
text-align: right;
cursor: pointer;
}
</style> <script type="text/javascript">
//判断浏览器是否为IE
var isIe = (document.all) ? true : false;
//弹出方法
function showMessageBox(wTitle, content) {
var msgw, msgh, bordercolor;
msgw = 380; //提示窗口的宽度
msgh = 120; //提示窗口的高度
titleheight = 25 //提示窗口标题高度
bordercolor = "#333"; //提示窗口的边框颜色
titlecolor = "#445588"; //提示窗口的标题颜色 closeWindow();
var bWidth = parseInt(document.body.scrollWidth); //网页正文全文宽
var bHeight = parseInt(window.screen.availHeight); //网页正文全文高
var back = document.createElement("div"); //创建北京div对象
back.id = "back";
var styleStr = "top:0px;left:0px;position:absolute;background:#666;width:" + bWidth + "px;height:" + bHeight + "px;";
styleStr += (isIe) ? "filter:alpha(opacity=10);" : "opacity:10;";
back.style.cssText = styleStr;
back.style.zIndex = "1000";
if (isIe) {
back.innerHTML = "<iframe style='position: absolute; width:\"100%\"; height:\"100%\";' frameborder='0'>afafa </iframe>";
}
document.body.appendChild(back);
//showBackground(back, 50);
var mesW = document.createElement("div"); //创建信息窗口对象div
mesW.id = "mesWindow";
mesW.className = "mesWindow";
mesW.innerHTML = "<div class='mesWindowTop' onmousedown=\"Move('mesWindow')\">"
+ "<table width='100%' height='100%'>"
+ "<tr>"
+ "<td>" + wTitle + "</td>"
+ "<td align='right'><a onclick='closeWindow();' title='关闭窗口' class='close'>关闭</a></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;width:" + wWidth + "px;";
styleStr = "left:" + (bWidth - msgw) / 2 + "px;top:35%;position:absolute;width:" + msgw + "px;height:" + msgh + "px;text-align:center;";
mesW.style.cssText = styleStr;
document.body.appendChild(mesW);
}
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'));
}
} //拖拽图层
var ms = 0;
function Move(obj) {
ms = obj;
event.srcElement.setCapture();
x = document.all(ms).style.pixelLeft - event.x;
y = document.all(ms).style.pixelTop - event.y;
} function document.onmousemove() {
if (ms != "") {
document.all(ms).style.pixelLeft = x + event.x;
document.all(ms).style.pixelTop = y + event.y;
}
} function document.onmouseup() {
if (ms != "") {
event.srcElement.releaseCapture();
ms = 0;
}
} //测试弹出
function testMessageBox(ev) {
messContent = "什么东西啊";
showMessageBox('窗口标题', messContent);
}
</script></head>
<body>
<form id="form1" runat="server">
<div style="text-align: left">
<a href="#none" onclick="testMessageBox(event);">弹出窗口</a></div>
<select>
<option value="0">请选择</option>
</select>
<asp:DropDownList ID="DropDownList1" runat="server">
</asp:DropDownList>
<select id="Select1">
<option></option>
</select>
</form>
</body>
</html>-----------------------
我还写了在IE6下遮住下拉框的方法在里面。但是在Firefox下点击按钮一点反应没有。大哥们,帮我看看。
<head runat="server">
<title></title>
<style type="text/css">
html, body
{
font-size: 12px;
margin: 0px;
height: 100%;
}
.mesWindow
{
z-index: 1001;
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;
height: 20px;
cursor: move;
}
.mesWindowContent
{
margin: 4px;
font-size: 12px;
vertical-align: middle;
}
.mesWindow .close
{
text-align: right;
cursor: pointer;
}
</style> <script type="text/javascript">
//判断浏览器是否为IE
var isIe = (document.all) ? true : false;
//弹出方法
function showMessageBox(wTitle, content) {
var msgw, msgh, bordercolor;
msgw = 380; //提示窗口的宽度
msgh = 120; //提示窗口的高度
titleheight = 25 //提示窗口标题高度
bordercolor = "#333"; //提示窗口的边框颜色
titlecolor = "#445588"; //提示窗口的标题颜色 closeWindow();
var bWidth = parseInt(document.body.scrollWidth); //网页正文全文宽
var bHeight = parseInt(window.screen.availHeight); //网页正文全文高
var back = document.createElement("div"); //创建北京div对象
back.id = "back";
var styleStr = "top:0px;left:0px;position:absolute;background:#666;width:" + bWidth + "px;height:" + bHeight + "px;";
styleStr += (isIe) ? "filter:alpha(opacity=10);" : "opacity:10;";
back.style.cssText = styleStr;
back.style.zIndex = "1000";
if (isIe) {
back.innerHTML = "<iframe style='position: absolute; width:\"100%\"; height:\"100%\";' frameborder='0'>afafa </iframe>";
}
document.body.appendChild(back);
//showBackground(back, 50);
var mesW = document.createElement("div"); //创建信息窗口对象div
mesW.id = "mesWindow";
mesW.className = "mesWindow";
mesW.innerHTML = "<div class='mesWindowTop' onmousedown=\"Move('mesWindow')\">"
+ "<table width='100%' height='100%'>"
+ "<tr>"
+ "<td>" + wTitle + "</td>"
+ "<td align='right'><a onclick='closeWindow();' title='关闭窗口' class='close'>关闭</a></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;width:" + wWidth + "px;";
styleStr = "left:" + (bWidth - msgw) / 2 + "px;top:35%;position:absolute;width:" + msgw + "px;height:" + msgh + "px;text-align:center;";
mesW.style.cssText = styleStr;
document.body.appendChild(mesW);
}
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'));
}
} //拖拽图层
var ms = 0;
function Move(obj) {
ms = obj;
event.srcElement.setCapture();
x = document.all(ms).style.pixelLeft - event.x;
y = document.all(ms).style.pixelTop - event.y;
} function document.onmousemove() {
if (ms != "") {
document.all(ms).style.pixelLeft = x + event.x;
document.all(ms).style.pixelTop = y + event.y;
}
} function document.onmouseup() {
if (ms != "") {
event.srcElement.releaseCapture();
ms = 0;
}
} //测试弹出
function testMessageBox(ev) {
messContent = "什么东西啊";
showMessageBox('窗口标题', messContent);
}
</script></head>
<body>
<form id="form1" runat="server">
<div style="text-align: left">
<a href="#none" onclick="testMessageBox(event);">弹出窗口</a></div>
<select>
<option value="0">请选择</option>
</select>
<asp:DropDownList ID="DropDownList1" runat="server">
</asp:DropDownList>
<select id="Select1">
<option></option>
</select>
</form>
</body>
</html>-----------------------
我还写了在IE6下遮住下拉框的方法在里面。但是在Firefox下点击按钮一点反应没有。大哥们,帮我看看。
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<style type="text/css">
html, body
{
font-size: 12px;
margin: 0px;
height: 100%;
}
.mesWindow
{
z-index: 1001;
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;
height: 20px;
cursor: move;
}
.mesWindowContent
{
margin: 4px;
font-size: 12px;
vertical-align: middle;
}
.mesWindow .close
{
text-align: right;
cursor: pointer; }
</style> <script type="text/javascript">
//判断浏览器是否为IE
var isIe = (document.all) ? true : false;
//弹出方法
function showMessageBox(wTitle, content) {
var msgw, msgh, bordercolor;
msgw = 380; //提示窗口的宽度
msgh = 120; //提示窗口的高度
titleheight = 25 //提示窗口标题高度
bordercolor = "#333"; //提示窗口的边框颜色
titlecolor = "#445588"; //提示窗口的标题颜色 closeWindow();
var bWidth = parseInt(document.body.scrollWidth); //网页正文全文宽
var bHeight = parseInt(window.screen.availHeight); //网页正文全文高
var back = document.createElement("div"); //创建北京div对象
back.id = "back";
var styleStr = "top:0px;left:0px;position:absolute;background:#666;width:" + bWidth + "px;height:" + bHeight + "px;";
styleStr += (isIe) ? "filter:alpha(opacity=10);" : "opacity:10;";
back.style.cssText = styleStr;
back.style.zIndex = "1000";
if (isIe) {
back.innerHTML = "<iframe style='position: absolute; width:\"100%\"; height:\"100%\";' frameborder='0'>afafa </iframe>";
}
document.body.appendChild(back);
//showBackground(back, 50);
var mesW = document.createElement("div"); //创建信息窗口对象div
mesW.id = "mesWindow";
mesW.className = "mesWindow";
mesW.innerHTML = "<div class='mesWindowTop' onmousedown=\"Move('mesWindow')\">"
+ "<table width='100%' height='100%'>"
+ "<tr>"
+ "<td>" + wTitle + "</td>"
+ "<td align='right'><a onclick='closeWindow();' title='关闭窗口' class='close'>关闭</a></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;width:" + wWidth + "px;";
styleStr = "left:" + (bWidth - msgw) / 2 + "px;top:35%;position:absolute;width:" + msgw + "px;height:" + msgh + "px;text-align:center;";
mesW.style.cssText = styleStr;
document.body.appendChild(mesW);
}
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'));
}
} //拖拽图层
var ms = 0;
function Move(obj) {
ms = obj;
event.srcElement.setCapture();
x = document.all(ms).style.pixelLeft - event.x;
y = document.all(ms).style.pixelTop - event.y;
} function msmove() {
if (ms != "") {
document.all(ms).style.pixelLeft = x + event.x;
document.all(ms).style.pixelTop = y + event.y;
}
} function msup() {
if (ms != "") {
event.srcElement.releaseCapture();
ms = 0;
}
} //测试弹出
function testMessageBox(ev) {
messContent = "什么东西啊";
showMessageBox('窗口标题', messContent);
}
</script></head>
<body onmouseup="msup()" onmousemove="msmove()">
<form id="form1" runat="server">
<div style="text-align: left">
<a href="#none" onclick="testMessageBox(event);">弹出窗口</a></div>
<select>
<option value="0">请选择</option>
</select>
<asp:DropDownList ID="DropDownList1" runat="server">
</asp:DropDownList>
<select id="Select1">
<option></option>
</select>
</form>
</body>
</html>
2.ff中事件是要放在参数中的,没有event这个全局事件
3.ff中不支持event.srcElement用e.target代替
4.ff中没有event.x使用e.pageX
5.pixelLeft这个也有问题,这个不太熟,找找资料
6.ff中没releaseCapture这两个对应的方法
2.ie和firefox获取event是不同的,而且ie的event.srcElement == firefox的event.target
3.firefox下没有那个event.srcElement.setCapture()的函数
4. function document.onmousemove()最好改成document.onmousemove = function(){....}
5.全局变量记得var声明...
还有lz的代码在ie7下跑,也有错误,拖动不了。
<head runat="server">
<title></title>
<style type="text/css">
html, body
{
font-size: 12px;
margin: 0px;
height: 100%;
}
.mesWindow
{
z-index: 1001;
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;
height: 20px;
cursor: move;
}
.mesWindowContent
{
margin: 4px;
font-size: 12px;
vertical-align: middle;
}
.mesWindow .close
{
text-align: right;
cursor: pointer;
}
</style> <script type="text/javascript">
//判断浏览器是否为IE
var isIe = (document.all) ? true : false;
//弹出方法
function showMessageBox(wTitle, content) {
var msgw, msgh, bordercolor;
msgw = 380; //提示窗口的宽度
msgh = 120; //提示窗口的高度
titleheight = 25 //提示窗口标题高度
bordercolor = "#333"; //提示窗口的边框颜色
titlecolor = "#445588"; //提示窗口的标题颜色 closeWindow();
var bWidth = parseInt(document.body.scrollWidth); //网页正文全文宽
var bHeight = parseInt(window.screen.availHeight); //网页正文全文高
var back = document.createElement("div"); //创建北京div对象
back.id = "back";
var styleStr = "top:0px;left:0px;position:absolute;background:#666;width:" + bWidth + "px;height:" + bHeight + "px;";
styleStr += (isIe) ? "filter:alpha(opacity=10);" : "opacity:10;";
back.style.cssText = styleStr;
back.style.zIndex = "1000";
if (isIe) {
back.innerHTML = "<iframe style='position: absolute; width:\"100%\"; height:\"100%\";' frameborder='0'>afafa </iframe>";
}
document.body.appendChild(back);
//showBackground(back, 50);
var mesW = document.createElement("div"); //创建信息窗口对象div
mesW.id = "mesWindow";
mesW.className = "mesWindow";
mesW.innerHTML = "<div class='mesWindowTop' onmousedown=\"Move('mesWindow')\">"
+ "<table width='100%' height='100%'>"
+ "<tr>"
+ "<td>" + wTitle + "</td>"
+ "<td align='right'><a onclick='closeWindow();' title='关闭窗口' class='close'>关闭</a></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;width:" + wWidth + "px;";
styleStr = "left:" + (bWidth - msgw) / 2 + "px;top:35%;position:absolute;width:" + msgw + "px;height:" + msgh + "px;text-align:center;";
mesW.style.cssText = styleStr;
document.body.appendChild(mesW);
}
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'));
}
} //拖拽图层
var ms = 0;
function Move(obj) {
ms = obj;
event.srcElement.setCapture();
x = document.all(ms).style.pixelLeft - event.x;
y = document.all(ms).style.pixelTop - event.y;
} this.onmousemove = function() {
if (ms != "") {
document.all(ms).style.pixelLeft = x + event.x;
document.all(ms).style.pixelTop = y + event.y;
}
} this.onmouseup = function() {
if (ms != "") {
event.srcElement.releaseCapture();
ms = 0;
}
} //测试弹出
function testMessageBox(event) {
messContent = "什么东西啊";
showMessageBox('窗口标题', messContent);
}
</script></head>
<body>
<form id="form1" runat="server">
<div style="text-align: left">
<a href="#none" onclick="testMessageBox(event);">弹出窗口</a></div>
<select>
<option value="0">请选择</option>
</select>
<asp:DropDownList ID="DropDownList1" runat="server">
</asp:DropDownList>
<select id="Select1">
<option></option>
</select>
</form>
</body>
</html>
this.onmouseup = function()这里要修改 你试试 看是不是你要的效果
pixelLeft,pixelRight,pixelTop,pixelBottom,pixelWidth,pixelHeight这几个在ff中都没有
可以直接使用
left,top,bottom,right代替
或
obj.clientWidth,obj.offsetWidth
left等需要加个单位
client,offset等返回无单位的
他处理下拉框的时候是把下拉框隐藏掉了,而我上面的是用个Iframe。
----
而且下面的代码他没有拖动的功能。。
--<!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;width:" + 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='width: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;width:" + 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>
<head runat="server">
<title></title>
<style type="text/css">
html, body
{
font-size: 12px;
margin: 0px;
height: 100%;
}
.mesWindow
{
z-index: 1001;
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;
height: 20px;
cursor: move;
}
.mesWindowContent
{
margin: 4px;
font-size: 12px;
vertical-align: middle;
}
.mesWindow .close
{
text-align: right;
cursor: pointer;
}
</style> <script type="text/javascript">
//判断浏览器是否为IE
var isIe = (document.all) ? true : false;
//弹出方法
function showMessageBox(wTitle, content) {
var msgw, msgh, bordercolor;
msgw = 380; //提示窗口的宽度
msgh = 120; //提示窗口的高度
titleheight = 25 //提示窗口标题高度
bordercolor = "#333"; //提示窗口的边框颜色
titlecolor = "#445588"; //提示窗口的标题颜色 closeWindow();
var bWidth = parseInt(document.body.scrollWidth); //网页正文全文宽
var bHeight = parseInt(window.screen.availHeight); //网页正文全文高
var back = document.createElement("div"); //创建北京div对象
back.id = "back";
var styleStr = "top:0px;left:0px;position:absolute;background:#666;width:" + bWidth + "px;height:" + bHeight + "px;";
styleStr += (isIe) ? "filter:alpha(opacity=10);" : "opacity:10;";
back.style.cssText = styleStr;
back.style.zIndex = "1000";
if (isIe) {
back.innerHTML = "<iframe style='position: absolute; width:\"100%\"; height:\"100%\";' frameborder='0'>afafa </iframe>";
}
document.body.appendChild(back);
//showBackground(back, 50);
var mesW = document.createElement("div"); //创建信息窗口对象div
mesW.id = "mesWindow";
mesW.className = "mesWindow";
mesW.innerHTML = "<div class='mesWindowTop' onmousedown=\"Move('mesWindow')\">"
+ "<table width='100%' height='100%'>"
+ "<tr>"
+ "<td>" + wTitle + "</td>"
+ "<td align='right'><a onclick='closeWindow();' title='关闭窗口' class='close'>关闭</a></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;width:" + wWidth + "px;";
styleStr = "left:" + (bWidth - msgw) / 2 + "px;top:35%;position:absolute;width:" + msgw + "px;height:" + msgh + "px;text-align:center;";
mesW.style.cssText = styleStr;
document.body.appendChild(mesW);
}
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'));
}
} //拖拽图层
var ms = 0;
function Move(obj) {
ms = obj;
event.srcElement.setCapture();
x = document.all(ms).style.pixelLeft - event.x;
y = document.all(ms).style.pixelTop - event.y;
} document.onmousemove=function(){
if (ms != "") {
document.all(ms).style.pixelLeft = x + event.x;
document.all(ms).style.pixelTop = y + event.y;
}
} document.onmouseup=function() {
if (ms != "") {
event.srcElement.releaseCapture();
ms = 0;
}
} //测试弹出
function testMessageBox(ev) {
var messContent = "什么东西啊";
showMessageBox('窗口标题', messContent);
}
</script></head>
<body>
<form id="form1" runat="server">
<div style="text-align: left">
<a href="#none" onclick="testMessageBox(event);">弹出窗口</a></div>
<select>
<option value="0">请选择</option>
</select>
<asp:DropDownList ID="DropDownList1" runat="server">
</asp:DropDownList>
<select id="Select1">
<option></option>
</select>
</form>
</body>
</html>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title></title>
<script type="text/javascript">
sl = {};
sl.isIE = !!window.ActiveXObject;
sl.dialo = function(hander, ini) {
var mover = ini.win || hander;
if (hander.length) hander = hander[0];
if (mover.length) mover = mover[0];
var __mover__ = mover;
mover.style.position = "absolute";
hander.style.cursor = ini.cursor || "move";
hander.onmousedown = function(e) {
if (ini.box) {
var rect = __mover__.cloneNode(false);
with (rect.style) {
top = sl.css(__mover__, 'top');
left = sl.css(__mover__, 'left');
border = 'solid 1px #849EC0';
height = __mover__.offsetHeight + 'px';
width = __mover__.offsetWidth + 'px';
background = '#C7D6E9';
filter = 'alpha(opacity=50)';
opacity = "0.5";
}
mover = document.body.appendChild(rect)
var rectitle = hander.cloneNode(true);
with (rectitle.style) {
borderBottom = 'solid 1px #849EC0';
}
mover.appendChild(rectitle);
}
__mover__.style.display = "none";
e = window.event || e;
this.prev_x = e.clientX;
this.prev_y = e.clientY;
this.x = e.clientX - mover.offsetLeft;
this.y = e.clientY - mover.offsetTop;
mover.style.zIndex = "999";
if (sl.isIE) {
hander.onlosecapture = dragStop;
e.cancelBubble = true;
hander.setCapture();
} else { window.onblur = dragStop; e.stopPropagation() }
document.onmousemove = function(e) {
e = window.event || e;
var x = e.clientX - hander.x, y = e.clientY - hander.y;
if (e.clientX - hander.x <= 0) mover.style.left = 0 + "px";
else if (e.clientX - hander.x >= document.documentElement.clientWidth - mover.offsetWidth - 1)
mover.style.left = (document.documentElement.clientWidth - mover.offsetWidth - 1) + "px";
else
mover.style.left = x + "px";
if (e.clientY - hander.y <= 1) mover.style.top = 1 + "px";
else if (e.clientY - hander.y >= document.documentElement.clientHeight - mover.offsetHeight - 1)
mover.style.top = (document.documentElement.clientHeight - mover.offsetHeight - 1) + "px";
else
mover.style.top = y + "px";
if (sl.isIE) {
hander.setCapture(); e.cancelBubble = true;
} else { e.preventDefault(); e.stopPropagation() }
window.getSelection && window.getSelection().removeAllRanges();
};
function dragStop(e) {
e = window.event || e;
document.onmousemove = document.onmouseup = null;
var _mx = parseInt(__mover__.style.top);
var _my = parseInt(__mover__.style.left);
var mx = parseInt(mover.style.top);
var my = parseInt(mover.style.left);
sl.css(__mover__, "top", mx);
sl.css(__mover__, "left", my);
mover.parentNode.removeChild(mover);
__mover__.style.zIndex = "1000";
__mover__.style.display = "block";
var t = 0;
if (document.all) {
hander.onlosecapture = null; hander.releaseCapture();
} else { window.onblur = null }
}
document.onmouseup = dragStop;
}
}
sl.Getpage = function() {
var xScroll, yScroll; //
var windowWidth, windowHeight, pageWidth, pageHeight;
if (window.innerHeight && window.scrollMaxY) { xScroll = document.body.scrollWidth; yScroll = window.innerHeight + window.scrollMaxY; }
else if (document.body.scrollHeight > document.body.offsetHeight) { xScroll = document.body.scrollWidth; yScroll = document.body.scrollHeight; }
else { xScroll = document.body.offsetWidth; yScroll = document.body.offsetHeight; }
if (self.innerHeight) { windowWidth = self.innerWidth; windowHeight = self.innerHeight; }
else if (document.documentElement && document.documentElement.clientHeight) { windowWidth = document.documentElement.clientWidth; windowHeight = document.documentElement.clientHeight; }
else if (document.body) { windowWidth = document.body.clientWidth; windowHeight = document.body.clientHeight; }
if (yScroll < windowHeight) pageHeight = windowHeight; else pageHeight = yScroll;
if (xScroll < windowWidth) pageWidth = windowWidth; else pageWidth = xScroll;
arrayPageSize = new Array(pageWidth, pageHeight, xScroll, yScroll);
return arrayPageSize;
}
sl.css = function(o, key, val) {
if (typeof key == 'object') {
for (var c in key) Tips.CreateCss(key[c], c, val);
}
if (val == undefined) {
if (o.style[key] != undefined) { return o.style[key]; }
if (document.all)
return o.currentStyle[key];
else
return window.getComputedStyle(o, null).getPropertyValue(key);
}
o.style[key] = val + "px";
}
var dialogs = {
alter: function() {
var _dialo = dialogs.CreateIframe();
_dialo[2].style.width = "300px";
_dialo[2].style.height = "150px";
_dialo[2].style.top = ((sl.Getpage()[1] - 150) / 2) + "px";
_dialo[2].style.left = ((sl.Getpage()[0] - 300) / 2) + "px";
_dialo[2].style.background = "red";
_dialo[2].style.zIndex = "999";
document.body.appendChild(_dialo[2]);
_dialo[3].style.height = "50px";
_dialo[3].style.background = "Aqua";
_dialo[2].appendChild(_dialo[3]);
sl.dialo(_dialo[3], { box: true, win: _dialo[2] });
},
CreateIframe: function() {
var _create = dialogs.CreateElement({ div: 'div', ifrem: 'iframe', con: 'div', title: 'div' });
_create[1].id = "dialogHideSelect";
_create[1].style.cssText = "height:" + sl.Getpage()[1] + "px;width:" + sl.Getpage()[0] + "px;z-index:200;position:absolute;top:0;left:0;background:#fff;border:0;filter:alpha(opacity=0);opacity:0;-moz-opacity:0;";
document.body.appendChild(_create[1]);
_create[0].id = "maskdiv";
_create[0].style.cssText = "height:" + sl.Getpage()[1] + "px;width:" + sl.Getpage()[0] + "px;z-index:210;position:absolute;top:0;left:0;cursor:pointer;background:#E6E6E6;border:0;filter:alpha(opacity=50);-moz-opacity:50;opacity:0.5;";
document.body.appendChild(_create[0]);
return _create;
},
CreateElement: function(x) {
if (!/string/i.test(typeof x)) { var array = []; for (var key in x) { array.push(dialogs.CreateElement(x[key])); } return array; }
if (x == undefined) return x;
return document.createElement(x);
}
}
</script></head>
<body>
<div style="text-align: left">
<a href="javascript://" onclick="dialogs.alter()">弹出窗口</a></div>
<select>
<option value="0">请选择</option>
</select>
<asp:DropDownList ID="DropDownList1" runat="server">
</asp:DropDownList>
<select id="Select1">
<option></option>
</select></body>
</html>
* @deprecated 移动div的方法
* @param{id} id 要移动的层ID
*/
MoveDiv.Move = function(id) {
var o = document.getElementById(id); o.onselectstart = function() {
return (false);
}; o.onmousedown = function(e) {
e = e || window.event;
var x = e.layerX || e.offsetX;
var y = e.layerY || e.offsetY; document.onmousemove = function(e) {
e = e || window.event;
o.style.left = (e.clientX - x) + "px";
o.style.top = (e.clientY - y) + "px";
}; document.onmouseup = function() {
document.onmousemove = null;
};
};
}-------------
这个函数怎么在Firefox下好好的,怎么在IE下一抖一抖的?还出现鼠标不按下也移动的状况。
<head>
<title></title>
<style type="text/css">
html, body
{
font-size: 12px;
margin: 0px;
height: 100%;
}
.mesWindow
{
z-index: 1001;
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;
height: 20px;
cursor: move;
}
.mesWindowContent
{
margin: 4px;
font-size: 12px;
vertical-align: middle;
}
.mesWindow .close
{
text-align: right;
cursor: pointer;
}
</style> <script type="text/javascript">
//判断浏览器是否为IE
var isIe = (document.all) ? true : false; var ms = "", x=y=0; //弹出方法
function showMessageBox(wTitle, content) {
var msgw, msgh, bordercolor;
msgw = 380; //提示窗口的宽度
msgh = 120; //提示窗口的高度
titleheight = 25 //提示窗口标题高度
bordercolor = "#333"; //提示窗口的边框颜色
titlecolor = "#445588"; //提示窗口的标题颜色 closeWindow();
var bWidth = parseInt(document.body.scrollWidth); //网页正文全文宽
var bHeight = parseInt(window.screen.availHeight); //网页正文全文高
var back = document.createElement("div"); //创建北京div对象
back.id = "back";
var styleStr = "top:0px;left:0px;position:absolute;background-color:#000000;width:" + bWidth + "px;height:" + bHeight + "px;";
styleStr += (isIe) ? "filter:alpha(opacity=50);" : "opacity:.5;";
if(isIe) {
back.style.cssText = styleStr;
} else {
back.setAttribute('style', styleStr);
}
back.style.zIndex = "1000";
/*if (isIe) {
back.innerHTML = "<iframe style='position: absolute; width:\"100%\"; height:\"100%\";' frameborder='0'>afafa </iframe>";
}*/
document.body.appendChild(back);
//showBackground(back, 50);
var mesW = document.createElement("div"); //创建信息窗口对象div
mesW.id = "mesWindow";
mesW.className = "mesWindow";
mesW.innerHTML = "<div class='mesWindowTop' onmousedown=\"Move(event, 'mesWindow')\">"
+ "<table width='100%' height='100%'>"
+ "<tr>"
+ "<td>" + wTitle + "</td>"
+ "<td align='right'><a onclick='closeWindow();' title='关闭窗口' class='close'>关闭</a></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;width:" + wWidth + "px;";
styleStr = "left:" + (bWidth - msgw) / 2 + "px;top:" +
((document.body.clientHeight - msgh)/2) +
"px;position:absolute;width:" + msgw + "px;height:" + msgh + "px;text-align:center;";
if(isIe) {
mesW.style.cssText = styleStr;
} else {
mesW.setAttribute('style', styleStr);//alert(mesW.style.top);
}
document.body.appendChild(mesW);
}
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'));
}
} //拖拽图层
var ms = 0;
function Move(event, obj) {
event = event || window.event;
ms = obj;
//target.setCapture();
x = parseInt(document.getElementById(ms).style.left) - event.clientX;
y = parseInt(document.getElementById(ms).style.top) - event.clientY;
} document.onmousemove = function(event) {
event = event || window.event;
if (ms) {
document.getElementById(ms).style.left = (x + event.clientX) + 'px';
document.getElementById(ms).style.top = (y + event.clientY) + 'px';
//document.getElementById(ms).innerHTML = event.x;
}
} document.onmouseup = function(event) {
event = event || window.event;
if (ms) {
//target.releaseCapture();
ms = "";
}
} //测试弹出
function testMessageBox(ev) {
messContent = "什么东西啊";
showMessageBox('窗口标题', messContent);
}
</script></head>
<body>
<div style="text-align: left">
<a href="#none" onclick="testMessageBox(event);">弹出窗口</a></div>
<select>
<option value="0">请选择</option>
</select>
</body>
</html>
var ms = 0;
function Move(obj) {
ms = obj;
event.srcElement.setCapture();
x = document.all(ms).style.pixelLeft - event.x;
y = document.all(ms).style.pixelTop - event.y;
} document.onmousemove=function(){
if (ms != "") {
document.all(ms).style.pixelLeft = x + event.x;
document.all(ms).style.pixelTop = y + event.y;
}
}
document.onmouseup = function(event) {
event = event || window.event;
if (ms) {
//target.releaseCapture();
ms = "";
}
}//拖拽图层
var ms = 0;
function Move(event, obj) {
event = event || window.event;
ms = obj;
//target.setCapture();
x = parseInt(document.getElementById(ms).style.left) - event.clientX;
y = parseInt(document.getElementById(ms).style.top) - event.clientY;
} document.onmousemove = function(event) {
event = event || window.event;
if (ms) {
document.getElementById(ms).style.left = (x + event.clientX) + 'px';
document.getElementById(ms).style.top = (y + event.clientY) + 'px';
//document.getElementById(ms).innerHTML = event.x;
}
}
js代码
[code=JScript]<script>function sAlert(str){
var msgw,msgh,bordercolor;
msgw=400;//Width
msgh=200;//Height
titleheight=25 //title Height
bordercolor="#336699";//boder color
titlecolor="#99CCFF";//title color
var sWidth,sHeight;
sWidth=document.body.offsetWidth;
sHeight=screen.height;
var bgObj=document.createElement("div");
bgObj.setAttribute('id','bgDiv');
bgObj.style.position="absolute";
bgObj.style.top="0";
bgObj.style.background="#777";
bgObj.style.filter="progid:DXImageTransform.Microsoft.Alpha(style=3,opacity=25,finishOpacity=75";
bgObj.style.opacity="0.6";
bgObj.style.left="0";
bgObj.style.width=sWidth + "px";
bgObj.style.height=sHeight + "px";
bgObj.style.zIndex = "10000";
document.body.appendChild(bgObj);
var msgObj=document.createElement("div")
msgObj.setAttribute("id","msgDiv");
msgObj.setAttribute("align","center");
msgObj.style.background="white";
msgObj.style.border="1px solid " + bordercolor;
msgObj.style.position = "absolute";
msgObj.style.left = "50%";
msgObj.style.top = "50%";
msgObj.style.font="12px/1.6em Verdana, Geneva, Arial, Helvetica, sans-serif";
msgObj.style.marginLeft = "-225px" ;
msgObj.style.marginTop = -75+document.documentElement.scrollTop+"px";
msgObj.style.width = msgw + "px";
msgObj.style.height =msgh + "px";
msgObj.style.textAlign = "center";
msgObj.style.lineHeight ="25px";
msgObj.style.zIndex = "10001";
var title=document.createElement("h4");
title.setAttribute("id","msgTitle");
title.setAttribute("align","right");
title.style.margin="0";
title.style.padding="3px";
title.style.background=bordercolor;
title.style.filter="progid:DXImageTransform.Microsoft.Alpha(startX=20, startY=20, finishX=100, finishY=100,style=1,opacity=75,finishOpacity=100);";
title.style.opacity="0.75";
title.style.border="1px solid " + bordercolor;
title.style.height="18px";
title.style.font="12px Verdana, Geneva, Arial, Helvetica, sans-serif";
title.style.color="white";
title.style.cursor="pointer";
title.innerHTML="关闭";
title.onclick=function(){
document.body.removeChild(bgObj);
document.getElementById("msgDiv").removeChild(title);
document.body.removeChild(msgObj);
}
document.body.appendChild(msgObj);
document.getElementById("msgDiv").appendChild(title);
var txt=document.createElement("p");
txt.style.margin="1em 0"
txt.setAttribute("id","msgTxt");
txt.innerHTML=str;
document.getElementById("msgDiv").appendChild(txt);
}
<a href="#" onclick="sAlert('内容...');return false;" >弹出窗口</a>
</script>
var msgw,msgh,bordercolor;
msgw=400;//Width
msgh=200;//Height
titleheight=25 //title Height
bordercolor="#336699";//boder color
titlecolor="#99CCFF";//title color
var sWidth,sHeight;
sWidth=document.body.offsetWidth;
sHeight=screen.height;
var bgObj=document.createElement("div");
bgObj.setAttribute('id','bgDiv');
bgObj.style.position="absolute";
bgObj.style.top="0";
bgObj.style.background="#777";
bgObj.style.filter="progid:DXImageTransform.Microsoft.Alpha(style=3,opacity=25,finishOpacity=75";
bgObj.style.opacity="0.6";
bgObj.style.left="0";
bgObj.style.width=sWidth + "px";
bgObj.style.height=sHeight + "px";
bgObj.style.zIndex = "10000";
document.body.appendChild(bgObj);
var msgObj=document.createElement("div")
msgObj.setAttribute("id","msgDiv");
msgObj.setAttribute("align","center");
msgObj.style.background="white";
msgObj.style.border="1px solid " + bordercolor;
msgObj.style.position = "absolute";
msgObj.style.left = "50%";
msgObj.style.top = "50%";
msgObj.style.font="12px/1.6em Verdana, Geneva, Arial, Helvetica, sans-serif";
msgObj.style.marginLeft = "-225px" ;
msgObj.style.marginTop = -75+document.documentElement.scrollTop+"px";
msgObj.style.width = msgw + "px";
msgObj.style.height =msgh + "px";
msgObj.style.textAlign = "center";
msgObj.style.lineHeight ="25px";
msgObj.style.zIndex = "10001";
var title=document.createElement("h4");
title.setAttribute("id","msgTitle");
title.setAttribute("align","right");
title.style.margin="0";
title.style.padding="3px";
title.style.background=bordercolor;
title.style.filter="progid:DXImageTransform.Microsoft.Alpha(startX=20, startY=20, finishX=100, finishY=100,style=1,opacity=75,finishOpacity=100);";
title.style.opacity="0.75";
title.style.border="1px solid " + bordercolor;
title.style.height="18px";
title.style.font="12px Verdana, Geneva, Arial, Helvetica, sans-serif";
title.style.color="white";
title.style.cursor="pointer";
title.innerHTML="关闭";
title.onclick=function(){
document.body.removeChild(bgObj);
document.getElementById("msgDiv").removeChild(title);
document.body.removeChild(msgObj);
}
document.body.appendChild(msgObj);
document.getElementById("msgDiv").appendChild(title);
var txt=document.createElement("p");
txt.style.margin="1em 0"
txt.setAttribute("id","msgTxt");
txt.innerHTML=str;
document.getElementById("msgDiv").appendChild(txt);
}
</script>
<a href="#" onclick="sAlert('内容...');return false;" >弹出窗口 </a>
1. 修改了判断是否为IE的代码:// var isIe = (document.getElementById)? true: false;
// 改为
var isIe = (document.all) ? true : false;2. 所有类似于function document.onmousemove(){...}的方式均修改为
document.onmousemove = function(event) {...}的方式。
3. 摒弃event.x/event.y改为event.clientX/event.clientY
4. 摒弃使用pixelLeft/pixelTop的方式来设置元素的位置,换为:style.left/style.top
5. 绝对定位不建议使用百分比!换成像素
6. 注释掉了iframe
7. 设置style属性,IE用cssText,非IE可以用setAttribute('style', 'your style');的方式
8. 重新配置了event对象,使其浏览器兼容。希望对你能有帮助! ENJOY!