popupCentered ссылка со всей <TR>отображается в полноэкранном режиме.Я хочу меньшее всплывающее окно? - PullRequest
0 голосов
/ 07 октября 2011

Я хочу, чтобы вся строка таблицы была кликабельной во всплывающем окне для шахматной игры.

Я пошел к http://thephuse.com/design-and-usability/clickable-table-rows-with-jquery/, который говорит мне добавить и добавляет:

<!-- make entire <tr> clickable-->
<script>
jQuery( function($) {$('tbody tr[data-href]').addClass('clickable').click(
function(){window.location = $(this).attr('data-href');}).find('a').hover(
function() {$(this).parents('tr').unbind('click');},
function() {$(this).parents('tr').click( function()
{window.location = $(this).attr('data-href');});});});
</script> 

Но это приводит к полноэкранному окну браузера. Я хочу центрированное всплывающее окно, как этот сценарий создает:

<!--popup centered window-->
<script>function PopupCenter(pageURL, title,w,h)
{var left = (screen.width/2)-(w/2);
var top = (screen.height/2)-(h/2);
var targetWin = window.open (pageURL, title, 'toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=no, copyhistory=no, width='+w+', height='+h+', top='+top+', left='+left);} </script>

Да, я пытался

<tr class="PopupCenter" data-href="http://google.com"> 

но всплывающее окно все еще полноэкранное; как вы можете видеть из таблицы игр на http://chesstao.com/test-2.php

класс PopupCenter не применяется.

Что я могу сделать?

* * Добавление тысячи двадцать-одина: * * тысяча двадцать-дв
<tr onclick="PopupCenter('games/$game', 'myPop1',400,400);"> dw

Я пробую другое решение, но у этого также есть интересная ошибка. На этот раз я использую всплывающий код кредита фотографа под фотографией на http://chesstao.com/test-2.php Я хочу щелкнуть в любом месте, чтобы появилось всплывающее окно.

Кликабельный код:

<script>
jQuery( function($) {$('tbody tr[data-href]').addClass('clickable').click(
function(){temp($(this).attr('data-href');}).find('a').hover(
function() {$(this).parents('tr').unbind('click');},
function() {$(this).parents('tr').click( function()
{temp($(this).attr('data-href');});});});
</script>

<!--Another Pop-up for diagram--> 
<script src="js/jquery.popupWindow-min.js" ></script>
<script>$('.diagram-popup').popupWindow({height:500, width:800}); </script>

и HTML:

<tr class="gradeA" data-href="games/BG-1001.php" ><td>07/17/1998</td><td>EU-ch U12</td>
<td>Mureck</td><td>0000</td><td>Khramiankov, Yuri</td><td>B99
</td><td style="display:none;visibility:hidden;">games/BG-1001.php</td></tr>

1 Ответ

1 голос
/ 07 октября 2011

Заменить оба

window.location = $(this).attr('data-href');

с

PopupCenter($(this).attr('data-href'), "Some Title", 100, 100);

или окно любого размера, которое вы хотите

Примечание: вам нужно где-то определить PopupCenter в вашем скрипте, чтобы использовать его.

Полный ответ будет таким:

<script type="text/javascript">
jQuery(function($) {
    $('tbody tr[data-href]').addClass('clickable').click(
        function(){
            PopupCenter($(this).attr('data-href'), 'title', 100, 100)
        }
    ).find('a').hover(
        function() {
            $(this).parents('tr').unbind('click');
        },
        function() {
            $(this).parents('tr').click( 
                function() {
                    PopupCenter($(this).attr('data-href'), 'title', 100, 100);
                }
            );
        }
    );
});

function PopupCenter(pageURL, title,w,h) {
    var left = (screen.width/2)-(w/2);
    var top = (screen.height/2)-(h/2);
    var targetWin = window.open (pageURL, title, 'toolbar=no, location=no, ' + 
        'directories=no, status=no, menubar=no, scrollbars=no, resizable=no, ' + 
        'copyhistory=no, width='+w+', height='+h+', top='+top+', left='+left);
}

</script> 

Вам потребуется указать заголовок и правильные значения высоты и ширины. Но это в основном все, я думаю.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...