Я думаю, что вы хотите использовать этот код вместо:
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();
}
Я считаю, сейчас ваш $ (это) неоднозначно, и, вероятно, не прикладывая парения() обработчик на правом объекте.
Возможно также, что вы опустили здесь что-то важное (например, где glow
помещено в DOM).
Если хуже приходит к худшему, вы можете пропустить hover
полностью и просто использовать mouseover
и mouseout
вместо этого, или если вы хотите получить действительно руководства обо всем этом, вы можете использовать bind
с наведением мыши и MouseOut событий.
Фактически, поскольку вы видите повторяющиеся действия в одном событии мыши, это может указывать на то, что вы каким-то образом связали множество экземпляров вашего одиночного обработчика hover
с объектом glow
. Вы можете использовать unbind
, чтобы удалить текущий обработчик, прежде чем связывать новый, если это окажется в этом случае, но избежать множественного привязки - лучшая стратегия, если вы сможете найти способ сделать это.
Надеюсь, это поможет!
Было бы здорово, если бы вы могли предоставить http://jsfiddle.net/ –
Пожалуйста, укажите больше кода. Ваш '$ (this)' заставляет меня думать, что вы можете назначать '.hover()' как результат другого события, и поэтому он повторно назначается повторно. – user113716
что это, в данном случае? – leeny