Как остановить событие салфетки в jQTouch во время перехода слайда?

Я почти закончил гибридный сайт и не могу решить одну проблему (многие из-за преднамеренного отсутствия документации в библиотеке Sencha).

У меня есть связанное событие при пролистывании, влево и вправо, правильная анимация, просто когда я быстро прокручиваю или я прокручиваю - страница начинает переходить (скользить) - во время перехода я снова прокручиваю. Выкидываю jQtouch и получается черная страница.

$('div.touch').swipe(function(event, info){

        switch(info.direction){
            case 'left':
            jQT.goTo('#test', 'slide');
            break;

Я думаю, что «pageAnimationEnd», вероятно, будет событием, которое мне нужно использовать и как-то связать. Но указатели были бы хороши для нуба. :)


person isibbot    schedule 21.03.2011    source источник


Ответы (1)


Я исправил проблему. Если у людей есть лучшее решение, дайте мне знать.

Я создал синглтон под названием «задержка».

        var delay = (function(){

            wait = false;
            return {

                set:function(bool_wait){
                      wait = bool_wait;
                    },

                get:function(){
                  return wait;
                  }
              }
        })();

«Я знаю, что это глобально». Вы можете реализовать это так, как хотите. Это быстрое решение. Просто поместите его в скрипт под названием delay.js и прикрепите его к началу вашего документа.

Теперь, когда вы называете «Свайп»

Сделайте следующее

$('#div.touch').swipe(function(e,info){

               if(delay.get() === false){

                switch(info.direction){
                       case 'left':
                       jQT.goTo('#test', 'slide');
                       break;
                }       

                 delay.set(true);
                 setTimeout(function(){delay.set(false)},1000);

              }
        });

Это просто устанавливает 1-секундную задержку между пролистыванием.

person Bodman    schedule 29.04.2011