Мне нужен эффект наведения якоря. Когда я наводю указатель мыши на ссылку, наведенный может прокручиваться сверху, а затем наведением мыши, не наведенный может снова прокручиваться снизу. Вот мой HTML-код:
<div class="viewport">
<div class="container">
<a class="scroll hovered" href="#">Hover Now</a>
<a class="scroll nhover" href="#">Not Hover</a>
</div>
</div>
вот мой код jquery:
$(".container").hover(function () {
$(this).animate({
top: '+=22'
}, 800, 'easeInOutBack');
}, function () {
$(this).animate({
top: '-=22'
}, 800, 'easeInOutBack');
});
Тогда конечный результат здесь
, но здесь возникает проблема, когда я быстро двигаю мышьпо следующей ссылке, предыдущая все еще прокручивается, я хочу, чтобы это не произошло, я думаю о функции остановки, поэтому я добавил ".stop ()" перед ".animate", например:
$(".container").hover(function () {
$(this).stop().animate({
top: '+=22'
}, 800, 'easeInOutBack');
}, function () {
$(this).stop().animate({
top: '-=22'
}, 800, 'easeInOutBack');
});
Однако результат не работает так, как я хотел, когда я быстро перемещаюсь по ссылке, они исчезают, посмотрите сюда
Почему это произошло? Как я могу решить эту проблему и достичьмоя цель? Большое спасибо!