2013-06-07 2 views
0

Когда вы нажимаете, мне нужно, чтобы он перевернулся, затем задержите, а затем выскочите с помощью fancybox. Единственный способ, с помощью которого я мог понять, чтобы запустить fancybox после задержки, был задержанный плагин и .trigger ('click'), чтобы запустить его после задержки. Проблема в том, что она постоянно истребила .trigger ('click') непрерывно, и я не могу понять, как остановить ее без .off(), которая убивает все остальное. Я бы очень признателен за некоторые предложения.Может ли кто-нибудь помочь мне выяснить способ остановить мой .trigger ('click') от непрерывной стрельбы по событию fancybox

Live example

<script type="text/javascript"> 
jQuery.noConflict(); 

// First Home Page Popout Box 
jQuery(document).ready(function() { 
    jQuery('#card-processing-link').live('click', function() { 
     jQuery('#card-processing-box').flip({ 
       'direction' : 'lr', 
       speed  : '300' 
     }); 
    });  
    //Fancybox popout event 
    jQuery('#card-processing-link').delayed('click', 400, function(){   
       jQuery(this).trigger('click').fancybox({ 
       'onStart'   : function(){ 
            jQuery('#card-processing-box').hide(); 
            jQuery('#card-processing-popout').show(); 
            }, 
       'transitionIn' : 'elastic', 
       'transitionOut' : 'fadeOut', 
       'speedIn'  : 300, 
       'speedOut'  : 500, 
       'width'   : '420', 
       'height'   : 'auto', 
       'scrolling'  : 'no', 
       'centerOnScroll' : 'true', 
       'overlayColor' : 'transparent', 
       'onClosed'  : function(){ 
           jQuery('#card-processing-popout').hide(); 
           jQuery('#card-processing-box').fadeIn(); 

              }    
     }); 
    }); 
}); 
</script> 
+0

-1: Вы уже задавали этот вопрос здесь http://stackoverflow.com/q/16966904/1055987 ... если на него не ответили, может быть, вам нужно быть более конкретным, но снова задавать один и тот же вопрос (что не поощряется) не означает, что вы быстрее получите помощь – JFK

ответ

1

Почему вы хотите, чтобы вызвать событие щелчка а, если вы уже щелкнул

jQuery(this).fancybox({

должно быть достаточно ..

В противном случае вы оказались бы в бесконечном цикле, который продолжал бы запускать е нажмите событие

Вы можете использовать setTimeout задержать выполнение на более позднее время

jQuery.noConflict(); 

// First Home Page Popout Box 
jQuery(document).ready(function() { 
    jQuery('#card-processing-link').live('click', function() { 
     jQuery('#card-processing-box').flip({ 
      'direction': 'lr', 
      speed: '300' 
     }); 

     var $this = jQuery(this); 
     setTimeout(function() { 
      $this.fancybox({ 
       'onStart': function() { 
        jQuery('#card-processing-box').hide(); 
        jQuery('#card-processing-popout').show(); 
       }, 
        'transitionIn': 'elastic', 
        'transitionOut': 'fadeOut', 
        'speedIn': 300, 
        'speedOut': 500, 
        'width': '420', 
        'height': 'auto', 
        'scrolling': 'no', 
        'centerOnScroll': 'true', 
        'overlayColor': 'transparent', 
        'onClosed': function() { 
        jQuery('#card-processing-popout').hide(); 
        jQuery('#card-processing-box').fadeIn(); 

       } 
      }); 

     }, 400); 
    }); 
}); 
+0

Я пытался сделать то же самое, но выиграл .fancybox Не стреляйте без .trigger(). – user2460403

+0

Почему «fancybox» требует триггера –

+0

Я просто попробовал предложение setTimout, и он действует так же, как и с .delayed без .trigger ('click'). По какой-то причине .Fancybox не срабатывает. – user2460403

 Смежные вопросы

  • Нет связанных вопросов^_^