Вы можете принудительно установить размер fancybox:
$.fancybox(
'<p>BOX CONTENT</p>',
{
'autoDimensions' : false,
'width' : 800,
'height' : 600,
'scrolling' : 'yes' //or auto depending on preference
}
);
Я предполагаю, что принудительный размер "меньше", чем содержимое, активирует метод прокрутки. Проверьте Fancybox Docs по этому вопросу.
Учитывая ваш пример:
$("a.tabledata").fancybox({
'type': 'ajax',
'ajax': {
dataFilter: function(data){
return $(data).find('table');
}
},
'width':800,
'height':600,
'autoDimensions':false,
'scrolling':'yes' //or auto depending on preference
});
autoDimensions
по умолчанию true
и изменяет размер модального поля, чтобы соответствовать контенту, если контент массивный и уходит со страницы, модальный бокс будет соответствовать ему и таким образом уходить со страницы. Установка высоты и ширины поля, а затем отключение autoDimensions
позволит изменить размеры.
Обновление:
У меня только что была другая идея. Если вы оберните таблицу в html с помощью div и добавите div к определенным измерениям с помощью overflow:auto
, тогда вызовите div в ajax вместо таблицы, это должно сработать.
Здесь много примеров: http://fancybox.net/blog