Я думаю, что вы хотите использовать этот код вместо:
var glow = $('<div class="glow">...</div>');
glow.hover(function() {
$(this).fadeIn();
}, function() {
$(this).fadeOut();
}
или
var glow = $('<div class="glow">...</div>');
glow.hover(function() {
glow.fadeIn();
}, function() {
glow.fadeOut();
}
Я считаю, что сейчас ваш $ (this) неоднозначен и, вероятно, не помещает обработчик hover () в нужный объект.
Также возможно, что вы пропустили что-то важное здесь (например, где glow
помещено в DOM).
Если хуже становится хуже, вы можете полностью пропустить hover
и просто использовать вместо него mouseover
и mouseout
, или если вы хотите получить руководство действительно обо всем этом, вы можете использовать bind
с событиями mouseover и mouseout.
На самом деле, поскольку вы видите повторяющееся действие для одного события наведения мыши, это может указывать на то, что вы каким-то образом привязали множество экземпляров вашего единственного обработчика hover
к объекту glow
. Вы можете использовать unbind
, чтобы удалить текущий обработчик перед привязкой нового, если это в конечном итоге имеет место, но лучше избегать множественного связывания, если вы можете найти способ сделать это.
Надеюсь, это поможет!