У меня большая таблица только с числами и небольшим размером шрифта, что затрудняет просмотр.Увеличение размера шрифта не вариант, но я хочу добавить эффект увеличения (без необходимости использовать масштабирование в браузере), используя простое наложение div на наведенную ячейку td, если она имеет какой-либо контент.
Div должен быть центрирован наЯчейка td и содержимое div должны быть заменены на текстовое содержимое ячейки hd td.
Где моя ошибка?
Примечание. Я использую .delegate () вместо .hover() потому что я уже занимаюсь другими делами, требующими делегата.
HTML
<div id="mine"><table border="1" cellspacing="2" cellpadding="2">
<tr><td></td><td></td><td>1</td><td>2</td></tr>
<tr><td>3</td><td></td><td></td><td>5</td></tr>
</table></div>
<div id="your">vale</div>
CSS
#your {
position: absolute;
width: 40px;
height: 30px;
z-index: 100;
border: 1px solid green;
text-align: center;
vertical-align: middle;
}
JS
$(document).ready(function() {
$('#mine').delegate('td', 'mouseover mouseleave', function(e) {
if ($(this).text().length > 0) {
if (e.type == 'mouseover') {
$('#your').position({
my: "center bottom",
at: "center top",
of: this,
offset: "0 -20", // Place it above td cell
collision: "none"
});
$('#your').clearQueue();
$('#your').text($(this).text()).fadeIn(200);
} else {
$('#your').delay(300).fadeOut(200);
}
}
});
});
Редактировать Я вижу, #your
летит по всему месту при первом запуске, а затем несколько следующих паров, это работает,но затем он начинает появляться все странные места - в том числе за пределами #mine
.