Вы должны удалить класс из всех элементов, которые в данный момент имеют его, прежде чем добавить его в новый элемент:
$("li").live("mouseover", function() {
$('.current').removeClass('current');
$(this).addClass('current');
});
jsFiddle
Длядобавив оптимизацию (то есть, чтобы сохранить выборку $('.current')
, которая может быть дорогой в некоторых старых браузерах), вы можете проверить, имеет ли элемент, который был обнаружен, уже класс:
$("li").live("mouseover", function() {
if (!$(this).hasClass('current')) {
$('.current').removeClass('current');
$(this).addClass('current');
}
});
илипо прекрасной идее Феликса,
var current;
$("li").live("mouseover", function() {
if (this !== current) {
$(current).removeClass('current');
$(this).addClass('current');
current = this;
}
});
jsFiddle