嗨,我编写了以下 javascript 来启用具有动态创建的 id 标签的模式,通过调整大小功能(无论它们的宽度和高度)定位在屏幕中央。
但是,在页面加载时,模式会显示,而不是onClick
通过按钮显示。我是一个菜鸟,所以我不确定我必须在我的代码中改变什么,所以模式在页面加载时被隐藏了。
Javascript:
$('body').prepend(''); $(函数(){ $(窗口).resize(函数(){ // 获取屏幕高度和宽度 var maskHeight = $(window).height(); var maskWidth = $(window).width(); // 计算居中对齐的值 var dialogTop = (maskHeight - $('.modalbox').height())/2; var dialogLeft = (maskWidth - $('.modalbox').width())/2; // 为覆盖层和对话框赋值 $('#overlay').css({ height:maskHeight, width:maskWidth }).show(); $('#modalcontainer').css({ top: dialogTop, left: dialogLeft}).show(); }).resize(); }); $('a.modal').each(function() { var 链接 = $(this); var id = link.attr('href'); 变量目标 = $(id); if($("#modalcontainer" + id).length === 0) { $('#modalcontainer').append(target); } $("#main" + id).remove(); 链接。点击(函数(){ $('#modalcontainer > div').hide(); 目标.show(); $('#overlay').show(); 返回假; }); }); $('.close').click(function() { $('#modalcontainer > div').hide(); $('#overlay').hide(); 返回假; });
CSS:
#覆盖{ 背景:网址(../img/overlay_bg.png); 位置:绝对; z指数:10; } #modalcontainer { 位置:绝对; z指数:20; }
HTML:
<a href="#modal1" class="modal button plain">view modal</a>
<div style="width:650px; height:400px;" id="modal1" class="modalbox">
<div class="box-header">
<p align="center">Here is your modal</p>
<div class="box-content">
</div>
<div align="center" class="action_bar">
<a href="#" class="close button blue">Close</a>
</div>
</div>
</div>
jsfiddle 演示:http: //jsfiddle.net/5Egf8/4/
任何帮助是极大的赞赏。?