Изменить функцию анимации с помощью JQuery - PullRequest
3 голосов
/ 20 марта 2011

У меня есть функция ниже, которая обрабатывает угощение, но вместо того, чтобы щелкнуть по # признакам li.block div , чтобы div вращался;как сделать ссылку с кнопкой класса a.button ?кликабельно, чтобы сделать # признакам li.block div divs spin?

$('#featured li.block div').click(function()
{
    var f = function($this, count) 
    {
        $this.animate({
            top: "-=200"
        }, 70, function() {
            $this.css('top', '220px').animate({
                top: "-=220"
            }, 70, function() {
                if (count > 0) {
                    count = count - 1;
                    f($this, count);

                    /*if(count == 0) {
                        if ($this.hasClass('showing')) {
                            $this.removeClass('showing').addClass('hiding').hide();
                        }
                    }*/
                }
            });
        });
    };
    f($(this), 8);
});

1 Ответ

2 голосов
/ 20 марта 2011

Используйте a.button в качестве селектора для обработчика щелчков и исходного селектора для вызова функции.

РЕДАКТИРОВАТЬ Я не смог заставить ваш код работать независимо от селектора сболее одного внутреннего DIV.Попробуйте это (бонус, это проще):

$('a.button').click(function()
{
    var f = function($this, count) 
    {
        $this.animate({
            top: "-=200"
        }, 70, function() {
            $this.css('top', '220px').animate({
                top: "-=220"
            }, 70, function() {
                if (count > 0) {
                    f($this, --count);
                }
            });
        });
    };
    $('#featured li.block div').each( function(i) {
        var $this = $(this);
        setTimeout( function() {
               f( $this, 8 );
        }, i*100 ); // the ith div will start in i*100ms
    });
});
...