DIV類比強制回應對話方塊window.showModalDialog效果

來源:互聯網
上載者:User

     Hi all, 對話方塊在Windows應用程式中使用非常普遍,許多應用程式的設定,與使用者互動需要通過對話方塊來進行,因此對話方塊是Windows應用程式中最重要的介面元素之一,是與使用者互動的重要手段。對話方塊是一個特殊的視窗,任何對視窗進行的操作(如移動、最大化、最小化等)也可以在對話方塊實施。
對話方塊大致可以分為以下兩種。
(1)模態對話方塊:模態對話方塊彈出後,獨佔了系統資源,使用者只有在關閉該對話方塊後才可以繼續執行,不能夠在關閉對話方塊之前執行應用程式其他部分的代碼。 模態對話方塊一般要求使用者做出某種選擇。
(2)非模態對話方塊:非模態對話方塊彈出後,程式可以在不關閉該對話方塊的情況下繼續執行,在轉入到應用程式其他部分的代碼時可以不需要使用者做出響應。非模 態對話方塊一般用來顯示資訊,或者即時地進行一些設定。
模態視窗在傳統程式設計語言中很常見,簡單的說就是,如果是模態的,就是開啟一個子視窗,如果這個子視窗不關閉,就不能操作它的父視窗,原來程式暫停執行 ,直到這個模態視窗關閉後才回到原來程式繼續。 非模態的就是直接顯示出來,然後原來的程式繼續執行下面的語句,而且其他視窗也呈可用狀態。

 比較常見的是window.open和window.showModelDialog方法,分別代表非強制回應對話方塊和強制回應對話方塊。然而有時候會遇到這樣的情況:客戶考慮安全隱患,不允許在程式中使用window.showModelDialog(強制回應對話方塊)彈出。這樣的話我們就需要自己用DIV做一個類似的強制回應對話方塊的效果:下面是我自己寫的一個簡單的應用。 (請點擊按鈕看看有什麼效果)

用DIV類比的對話方塊

這裡就對話方塊中的內容,且支援拖動功能,歡迎測試!

鑒於朋友們的意見,現在粘跌代碼如下:

<style>
div#mbDIV
{
position: absolute;
top: 0px;
left: 0px;
width:expression(document.body.scrollWidth+"px");
height:expression(document.body.scrollHeight+"px");
background-color: #AAAAAA;
z-index: 10;
filter: alpha(opacity=80);opacity:0.8;
}
div#loginDIV
{
position: absolute;
width: 500px;
height: 180px;
background-color:white;
z-index: 20;
}
div#loginTopDIV
{
width: 100%;
height: 22px;
text-align:center;
background-color: blue;
cursor: move;
}
</style>
<script>
function btnAnswer()
{
    if(window.confirm("能告訴我你的名字嗎?謝謝!"))
        alert("歡迎你");
    else
    {
        alert("你哇假打哈!")
    }
    closeDIV();
}
</script><script type="text/javascript" src="http://files.cnblogs.com/Charles2008/DIVDialog.js" defer="defer"></script>
<div id="mbDIV" style="display: none;"></div>
<div id="loginDIV" style="display: none; left: 300px; top: 200px">
<div id="loginTopDIV">用DIV類比的對話方塊</div>
<table cellspacing="0" cellpadding="0" width="100%" border="0">
    <tr>
            <td align="center" colspan="2">這裡就對話方塊中的內容,且支援拖動功能,歡迎測試! </td>
        </tr>
        <tr>
            <td align="center"><input onclick="btnAnswer();" type="button" value="回答問題"></td>
            <td align="center"><input onclick="closeDIV()" type="button" value="關閉"> </td>
        </tr>
    </table>
</div>
<div align="center"><input onclick="openDIV()" type="button" value="測試DIV類比showModalDialog對話方塊"> </div>

希望朋友們提出寶貴的意見。謝謝。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.