這裏是一個非常基本的版本:
$("<iframe id='shim' src='http://jsbin.com/abira4'>").css({
width: "100%",
height: "100%",
position: "absolute",
left: "0px",
top: "0px",
zIndex: "100",
backgroundColor: "#fff",
opacity: "0.5"
}).appendTo(document.body);
$("<div>Hi there, click me to dismiss</div>").css({
zIndex: "101",
border: "1px solid black",
backgroundColor: "#ecc",
position: "absolute",
left: "100px",
top: "100px"
}).appendTo(document.body)
.click(function() {
$(this).remove();
$("#shim").remove();
});
它是如何工作的:
- 我們創建一個iframe充當頁面正文的一部分。這消除了我們稍後添加的「對話框」div之外的任何點擊,並且還處理了OS渲染控件和Flash動畫彈出到頂部的問題。我們也使它成爲半透明的(在這種情況下,背景顏色爲
#f0f0f0
,不透明度爲50%),因此它會「隱藏」底層文檔。這絕對定位在0,0,寬度和高度均爲100%,z索引爲100(這必須高於頁面上的其他任何內容)。 iframe的src
應該是空白文檔。
- 然後,我們爲「對話框」創建一個div,該對話框也是絕對定位的,並且z-index高於iframe填充。
現在,有很多的變化。例如,沒有任何理由可以在HTML文檔中而不是在腳本中使用模型div標記 — - 直到您需要爲止display: none
。像這樣的東西。
顯然,這個版本讓你點擊對話框上的任何地方來解除它,但它很容易修改,只允許在某處使用[X]關閉。並說它可以使用一些造型,將其放在溫和的地方。
所有這一切說,我不能說它是遠程防彈。這就是經過充分測試的插件的原因。 :-)
此鏈接如何? http://www.queness.com/post/77/simple-jquery-modal-window-tutorial我希望能幫到你 – 2011-02-01 21:59:32
http://stackoverflow.com/questions/2789773/jquery-modal-dialog-without-jqueryui – sunn0 2011-02-01 22:00:46