你所描述的有很多名字(燈箱,模式對話框,疊加層),但是一般的概念是在一個截面上繪製一個半透明的圖層,並且顯示一個對話框,或者一個圖像,或其他任何東西,最重要的。
您可以自己創建相同的效果。下面是一個使用jQuery開始的示例代碼:
(function ($) {
$.fn.showDialog = function (options) {
var defaults = { element: "<div></div>", width: "", height: "" };
options = $.extend(defaults, options);
var element = this;
var opacityLayer = $("body > div#dialog-container > div#opacity-layer");
if (opacityLayer = 'undefined') {
opacityLayer = $("<div id='dialog-container'><div id='opacity-layer'></div></div>").appendTo("body").find(' > #opacity-layer');
}
opacityLayer.addClass('opacity-layer');
opacityLayer.animate({ 'opacity': '0.7' }, "fast", function() {
if (!element.addClass) {
element = $(element);
}
element.addClass('dialog rounded-cornered');
//opacityLayer.html(element);
opacityLayer.after(element);
//opacityLayer.append("<div class='actions'><a id='close-dialog' class='action dialog-action' href='javascript:void(0);'>بازگشت</a></div>");
element.append("<span id='close-dialog'></span>");
element.find('#close-dialog').click(function() {
hideDialog();
});
});
return this;
}
})(jQuery);
感謝Oded,我會從現在開始考慮編寫URL的這條規則 –