iQuasar
@iQuasar

Как правильно остановить анимацию в jQuery?

Подскажите, пожалуйста. Кнопки иногда начинают появляться сразу, как item начал увеличиваться, а иногда после задержки(при первом ховере кнопки появляются на цене, а при последующих уже нормально. И еще мне надо, чтобы они появлялись вместе с текстом, но иногда появляется непонятная небольшая задержка). С чем это связанно? И главный вопрос, собственно. Если сразу отвести мышку, то с кнопками происходит какая-то беда. Stop прекрасно работает с item-name и descr, а вот кнопки чет не хотят останавливать анимацию и не отображаться. Я и с finish пробовал, и так и сяк, все равно получается бред. Как это исправить?

https://codepen.io/anon/pen/rrvqaX
Я понимаю, что дело в animate, но по другому никак не переместить их вниз. Можно конечно самому изменять высоту с учетом появляющихся надписей и кнопок, но чет это сложновато для меня :(
p.s. я пока только учусь)
  • Вопрос задан
  • 116 просмотров
Решения вопроса 1
profesor08
@profesor08 Куратор тега JavaScript
Ты мог зайти с другого конца, и не аниммировать margin, а прилепить кнопку в самый низ top:100, а потом slideDown...

Вместо .mouseover лучше используй .on("mouseover", function() {}), а вместо самого mouseover, используй mouseenter. И разберись как они работают изнутри.

И приведи свой код в порядок.

И незачем делать кучу выборок, каждый раз по много раз. Сохрани ссылку на элемент и пользуйся ей.

https://codepen.io/Profesor08/pen/NBMEEr
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Stalker_RED
@Stalker_RED
Можно переделать все на css, из скриптов только классы менять. Причем большая часть всей этой красоты делается вообще без скриптов, через обычный css hover.
jsfiddle.net/3g8cbtfv (оно немножко дергается потому, что мне лень полностью разбираться с вашими абсолютами натыканными не к месту.)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
28 нояб. 2024, в 05:21
2000 руб./за проект
28 нояб. 2024, в 05:18
500 руб./за проект
28 нояб. 2024, в 03:51
3500 руб./за проект