JQuery оживить, а затем остановить

0

Немного борется с оживлением jquery.

На данный момент, если я продолжаю нажимать кнопку, ясно, что каждый раз каждый раз переносит объект вправо на 50 пикселей

$( ".button" ).click(function() {
  $( "#object" ).animate({opacity: 1,right: "+=50",}, 500, function() {}
);

Есть ли способ обеспечить, чтобы один клик перемещал его один раз, а затем второй щелчок не перемещает его?

то есть. правило, которое перемещает его вправо: 50 пикселей и это, а не +50px?

Любая помощь очень ценится !!

  • 1
    Вы должны проверить этот плагин .. он использует CSS3 переходы для более плавной анимации и отлично работает! ricostacruz.com/jquery.transit
Теги:
jquery-animate

2 ответа

2
Лучший ответ

Использовать .one()

$( ".button" ).one('click',function() {

Демо-версия скрипта

  • 0
    Извините - не думаю, что я объяснил себя очень хорошо - возможно ли переместить его в определенную абсолютно правильную позицию при нажатии? извини, я не совсем правильно сказал
0

Вы можете использовать один():

$(".button").one('click', function () {
    $("#object").animate({
        opacity: 1,
        right: "+=50",
    }, 500, function () {

    });
});

или я предлагаю вам отключить кнопку, чтобы ваши пользователи знали о вашем намерении здесь:

$(".button").click(function () {
    var $this = $(this);
    $("#object").animate({
        opacity: 1,
        right: "+=50",
    }, 500, function () {
        $this.prop("disabled",true);
    });
});

Ещё вопросы

Сообщество Overcoder
Наверх
Меню