Если ваш load
повторно загружает ту часть вашего DOM, которая содержит ваши элементы .home-roll-box
, вы обнаружите, что новые элементы, вставленные вашим вызовом load
, не будут иметь событияобработчики связаны с ними.
hover
использует bind
за кадром;который связывает обработчики только с элементами, которые в данный момент находятся в DOM.Будущие элементы не будут иметь связанные с ними обработчики.Вместо этого используйте live ;который связывает обработчики со всеми текущими и будущими элементами, которые соответствуют селектору (вы также должны взглянуть на делегат , чтобы завершить набор способов связать события-обработчики в jquery).
$(".home-roll-box").live('mouseenter', function() {
name = $(this).attr("id");
$("#image-" + name).stop().show().animate({
opacity: 1
});
}).live('mouseleave', function() {
name = $(this).attr("id");
$("#image-" + name).stop().animate({
opacity: 0
});
});