Возможно, я даже не правильно использую слово "события". Вот что я хочу сделать:
У меня есть ссылка, которая начинается со слов «Подробнее». Когда пользователь наводит курсор на ссылку «Ream More», чтобы щелкнуть по ней, я бы хотел, чтобы отступ справа немного увеличился, а затем сократился, когда зависание прекратилось. Я могу сделать это довольно легко с помощью этого:
$('#post-text a.more-link').hover(
function(){$(this).animate({paddingRight: '18px'}, 200);},
function(){$(this).animate({paddingRight: '4px'}, 200);});
Но я также хочу добавить текст «Пожалуйста», когда вы наводите курсор на него. Я могу сделать это, используя .append()
, но я вроде как наткнулся на загадку. Если я добавлю его в код, как это:
$('#post-text a.more-link').hover(
function(){$(this).animate({paddingRight: '18px'}, 200), $(this).append(", Please");},
function(){$(this).animate({paddingRight: '4px'}, 200);});
Тогда каждый раз, когда кто-то парит, он добавляет еще одно «Пожалуйста». Я хочу добавить его только один раз, при первом наведении, если это возможно.
Кроме того, я бы хотел, чтобы "Пожалуйста" оставался там и не уходил, когда они перестали зависать. Я предполагаю, что мне нужно будет использовать .one()
или .bind()
, но я не уверен, куда это должно идти.
Любая помощь будет принята с благодарностью. Заранее спасибо.
ОБНОВЛЕНИЕ: я добился определенного прогресса, см. Ниже:
Прежде всего, я только что узнал, как, наконец, использовать .one()
, и я также только что узнал, что .hover()
работает так же, как и mouseenter
. Итак, вот что у меня сейчас работает:
$('#post-text a.more-link').one('mouseenter', function() {
$(this).append(", Please");});
Так что я доволен этим, мне просто нужно выяснить, как добавить и то, и анимацию отступа для немного большей вспышки.