Отключите ссылки, пока анимация не закончится, чтобы избежать быстрого нажатия на меню, которое разрушает слайд-шоу - PullRequest
0 голосов
/ 17 февраля 2011

У меня есть слайд-шоу с циклом jQuery. Я немного изменил его, поэтому он работает совершенно иначе, чем по умолчанию.

Теперь у меня проблема. Если вы быстро нажмете меню, которое активирует слайды, оно разрушит слайд-шоу. Мне нужно деактивировать меню, пока анимация не закончится. У меня есть пространство "After-animation", где я мог бы вставить функцию "ready" некоторого вида. Я просто не знаю как.

$('.slideshow').cycle({
    after: function(curr,next,opts) {
        //here I can add a "Ready" function i guess
    }       
});

Меню: // Это меню, которое я использую. Я думаю, что я мог бы добавить правило «Отключить меню» здесь, но опять же ... я не знаю, как ...: - (

$('#menu li a').click(function() {
    window.location.hash = $(this).attr('href');
    //$('.slideshow').cycle($(this).parent().index());
    index = $(this).parent().index();
    return false; 

});

Или у тебя есть другая идея?

Ответы [ 2 ]

1 голос
/ 17 февраля 2011

это может сработать .... но не пробовал ...

var ready = false;

$('.slideshow').cycle({
    after: function(curr,next,opts) {
        //here I can add a "Ready" function i guess
        ready = true;
    }       
});

$('#menu li a').click(function() {
    if (! ready ) { return false; }
    window.location.hash = $(this).attr('href');
    //$('.slideshow').cycle($(this).parent().index());
    index = $(this).parent().index();
    ready = false;
    return false; 

});
0 голосов
/ 17 февраля 2011

Вы можете просто показать / скрыть прозрачный div с высоким значением z-index, который отключит ссылки на вашей странице, как описано здесь:

http://fczaja.blogspot.com/2009/02/disable-all-page-elements-with.html

...