多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > web前端 > jscript > JavaScript彈出自定義對話框并跳轉頁面

JavaScript彈出自定義對話框并跳轉頁面

來源:程序員人生   發布時間:2013-12-02 13:56:14 閱讀次數:2927次

  網(LieHuo.Net)教程 HTML頁面彈出自定義對話框并跳轉頁面的兩種方法(使用JavaScript)

方法一 系統API法:
調用window.showModalDialog打開以自定義頁面為內容的對話框。根據其返回值,通過window.location.href跳轉指定頁面。window.showModalDialog的使用方法請參考http://msdn.microsoft.com/en-us/library/ms536759(VS.85).aspx

<!--需要彈出對話框的頁面-->
<script type="text/javascript">
function fnOpen()
{
var r = window.showModalDialog("http://dlg.aspx", "", "dialogWidth: 200px; dialogHeight: 200px; resizable: no; scroll: no;status: no;edge: sunken;unadorned: yes;");

switch(r)
{
case 1:
window.location.href="http://1.aspx"
break;
default:
break;
}
}
</script>
<!--img控件,點擊調用fnOpen-->
<div id="1" align="center" style="cursor:pointer">
<br><img src="1.png" alt="" style="width:123px;height:43px;" onclick="fnOpen()"/>
</div>
新建一個dlg.aspx,在里面隨意添加需要顯示的內容,在退出時賦以返回值。

<!--dlg.aspx添加返回值以及關閉對話框-->
<input name="Btn" type="button" value="1" styleonclick="window.returnValue=1;window.close();"></td>

優點:方便快速,比較簡單。
缺點:在非IE下運行可能會不正常。對話框的邊框去不掉。
拓展:還可以使用window.open,showmodelessDialog等方法,做法類似,效果各有不同。

方法二:遮罩法
通過遮罩,事先隱藏一個div,在需要的時候調出顯示既可。

<!--以下代碼從網上多處學習整合而成,由于來源不一,并經過自行修改,請原諒未作注明-->
<script type="text/javascript">
var docEle = function()
{
return document.getElementById(arguments[0]) || false;
}


function openNewDiv(_id)
{
var m = "mask";
if (docEle(_id)) document.body.removeChild(docEle(_id));
if (docEle(m)) document.body.removeChild(docEle(m));

//mask遮罩層

var newMask = document.createElement("div");
newMask.id = m;
newMask.style.position = "absolute";
newMask.style.zIndex = "1";
_scrollWidth = Math.max(document.body.scrollWidth,document.documentElement.scrollWidth);
_scrollHeight = Math.max(document.body.scrollHeight,document.documentElement.scrollHeight);
newMask.style.width = _scrollWidth + "px";
newMask.style.height = _scrollHeight + "px";
newMask.style.top = "0px";
newMask.style.left = "0px";
newMask.style.background = "#33393C";
newMask.style.filter = "alpha(opacity=40)";
newMask.style.opacity = "0.40";
document.body.appendChild(newMask);

//新彈出層

var newDiv = document.createElement("div");
newDiv.id = _id;
newDiv.style.position = "absolute";
newDiv.style.zIndex = "9999";
newDivWidth = 250;
newDivHeight = 200;
newDiv.style.width = newDivWidth + "px";
newDiv.style.height = newDivHeight + "px";
newDiv.style.top = (document.body.scrollTop + document.body.clientHeight/2 - newDivHeight/2) + "px";
newDiv.style.left = (document.body.scrollLeft + document.body.clientWidth/2 - newDivWidth/2) + "px";
newDiv.style.background = "#EFEFEF";
newDiv.style.border = "1px solid #860001";
newDiv.style.padding = "5px";
newDiv.innerHTML = document.getElementById("HideDlg").innerHTML;
newDiv.innerHTML+= "&nbsp"
document.body.appendChild(newDiv);

//彈出層滾動居中

function newDivCenter()
{
newDiv.style.top = (document.body.scrollTop + document.body.clientHeight/2 - newDivHeight/2) + "px";
newDiv.style.left = (document.body.scrollLeft + document.body.clientWidth/2 - newDivWidth/2) + "px";
}
if(document.all)
{
window.attachEvent("onscroll",newDivCenter);
}
else
{
window.addEventListener('scroll',newDivCenter,false);
}

//關閉新圖層和mask遮罩層

var newA = document.createElement("a");
newA.href = "#";
newA.innerHTML = "Cancel";
newA.onclick = function()
{
if(document.all)
{
window.detachEvent("onscroll",newDivCenter);
}
else
{
window.removeEventListener('scroll',newDivCenter,false);
}
document.body.removeChild(docEle(_id));
document.body.removeChild(docEle(m));
return false;
}
newDiv.appendChild(newA);
}

function closeDiv()
{
if(document.all)
{
window.detachEvent("onscroll",newDivCenter);
}
else
{
window.removeEventListener('scroll',newDivCenter,false);
}
document.body.removeChild(docEle(_id));
document.body.removeChild(docEle(m));
return false;
}
</script>
<!--img控件,點擊觸發-->
<div id="1" align="center" style="cursor:pointer">
<br>
<img src="1.png" alt="" style="width:123px;height:43px;" onclick="openNewDiv('newDiv');return false;"/>
</div>
<!--隱藏的div,隨意修改-->
<div id="HideDlg" style="display:none;">
<input name="Btn" type="button" value="1" onclick="window.location.href='http://www.vxbq.cn/'
</div>

優點:顯示效果好,無邊框,彈出后始終保持在屏幕中部,主頁面變灰。
缺點:代碼復雜。
注意:如果是在motherpage中添加,觸發控件如果為<input img>的時候,可能會觸發頁面自刷屏導致頁面跳轉被自己覆蓋。

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 羞羞视频在线 | 图片区小说区号综合区 | 国产精品_国产精品_国产精品 | 91综合网| 99国产精品欧美久久久久久影院 | 在线免费黄色网址 | 伊人久久大香线蕉综合亚洲 | 99热久久久这里只有精品免费 | 日本xxxwww色视频 | 免费看的www视频网站视频 | 亚洲欧美日韩中文字幕久久 | 羞羞网| 欧美大片天天免费看视频 | 亚洲欧美综合在线观看 | 欧美videos粗暴 | 日本vs黑人hd | 最新中文字幕av专区 | 亚洲欧美日韩高清在线看 | 午夜dj在线观看免费高清视频在线观看 | 中文字幕日韩欧美 | 最近中文字幕国语完整在线5 | 国产成人精品久久一区二区小说 | 亚洲小说春色综合另类小说 | ww在线观视频免费观看w | 国产上床视频 | 加勒比一道本综合 | 欧美成人精品不卡视频在线观看 | 理论片一级 | 欧美精品xx | 国产一区二区免费不卡在线播放 | 鲁啊鲁阿鲁在线视频播放 | 最近中文字幕免费2019 | 国产成人精品一区二区免费视频 | 波多野结衣国产一区 | a天堂一码二码专区 | 精品国产日韩亚洲一区二区 | 波多野结衣视频在线看 | 亚洲黄色网址 | 福利网站在线观看 | www.久久精品 | 国产一区二区久久久 |