我使用以下代码在每个表格行上弹出一个弹出窗口,但我无法将弹出窗口置于屏幕中心,显然它没有响应。
修改:JSFiddle
HTML:
<table>
<tbody>
<tr>
<th>No.</th>
<th>Categories</th>
<th>Sub-Categories</th>
<th>Counts</th>
<th>description</th>
</tr>
<tr class="popupOpen" data-href="#entry1">
<td>1</td>
<td>Category 1</td>
<td>Sub-Category 1</td>
<td>12</td>
<td>This is a test</td>
</tr>
<tr>
<td>2</td>
<td>Category 2</td>
<td>Sub-Category 2</td>
<td>14</td>
<td>This is a test again</td>
</tr>
</tbody>
</table>
<div id="entry1" class="largeWin">
<a href="#" class="close">X</a>
<p>some text here...</p>
</div>
JQuery的:
$('tr.popupOpen').click(function() {
var popup= $(this).attr('data-href');
$(popup).fadeIn(300);
//Set the center alignment padding + border
var popMargTop = ($(popup).height() + 24) / 2;
var popMargLeft = ($(popup).width() + 24) / 2;
$(popup).css({
'margin-top' : -popMargTop,
'margin-left' : -popMargLeft
});
// Add the mask to body
$('body').append('<div id="mask"></div>');
$('#mask').fadeIn(300);
return false;
});
$('a.close, #mask').live('click', function() {
$('#mask , .largeWin').fadeOut(300 , function() {
$('#mask').remove();
});
return false;
});
如何以弹出窗口为中心并使其响应?
答案 0 :(得分:0)
检查这个小提琴。
<强> Updated Fiddle 强>
你是否想要达到这样的目标。
$(document).ready(function () {
$('tr.popupOpen').click(function () {
var popup = $(this).attr('data-href');
$(popup).fadeIn(300);
//Set the center alignment padding + border
$(popup).css({
'margin-top': '20px',
'margin-left': '40px'
});
// Add the mask to body
$('div.container').append('<div id="mask"></div>');
$('#mask').fadeIn(300);
return false;
});
$('a.close, #mask').live('click', function () {
$('#mask , .largWin').fadeOut(300, function () {
$('#mask').remove();
});
return false;
});
});