以下是一个简单的JavaScript示例:
Basic modal demobody { margin: 0; }
#shade,#modal { display: none; }
#shade { position: fixed; z-index: 100; top: 0; left: 0; width: 100%; height: 100%; }
#modal { position: fixed; z-index: 101; top: 33%; left: 25%; width: 50%; }
#shade { background: silver; opacity: 0.5; filter: alpha(opacity=50); }
Close
Start
var modal= document.getElementById('modal');
var shade= document.getElementById('shade');
document.getElementById('start').οnclick= function() {
modal.style.display=shade.style.display= 'block';
};
document.getElementById('close').οnclick= function() {
modal.style.display=shade.style.display= 'none';
};
// This code is a workaround for IE6's lack of support for the
// position: fixed style.
//
if (!('maxHeight' in document.body.style)) {
function modalsize() {
var top= document.documentElement.scrollTop;
var winsize= document.documentElement.offsetHeight;
var docsize= document.documentElement.scrollHeight;
shade.style.height= Math.max(winsize,docsize)+'px';
modal.style.top= top+Math.floor(winsize/3)+'px';
};
modal.style.position=shade.style.position= 'absolute';
window.οnscrοll=window.οnresize= modalsize;
modalsize();
}
您可以从中进行各种改进,例如iframe可以修复IE z-indexing,或将其封装在可重用的对象中,但这是完成的基本方法.