Если object.width
меньше 16
hover.style.width = object.width - 16 + "px";
, тогда будет получена строка с отрицательным знаком спереди, что недопустимо, поскольку ширина должна быть неотрицательной.
Вы можете исправить это, сказав
hover.style.width = Math.max(object.width - 16, 0) + "px";
и аналогично для высоты.
Многие браузеры игнорируют недопустимое содержимое, но IE в некоторых режимах более строгий, поэтому вы, вероятно, просто получаете ошибку молчанияв других.