0

fancyboxが閉じた後、点滅を停止するボタンを取得しようとしています。私は自分が知っているあらゆる方法を試しましたが、なぜそれが解き放たれないのかわかりません。コードは次のとおりです。

    var clicked = true;
    var playbtn = $('.playbtn');

    function unpulse(){
       clicked = false;
       playbtn.unbind(pulse);
    }

    function pulse(){
       playbtn.delay(200).fadeOut('slow').delay(50).fadeIn('slow', pulse);
    }

    if (clicked) {
       pulse();
    }else if (!clicked) {
       alert('finally');
     };


     $('.playbtn a').fancybox({
        'type' : 'iframe',
        'transitionIn':'elastic',
        'transitionOut' :'elastic',
         'speedIn':600, 
         'speedOut':200, 
        'overlayShow':  false,
         'onClosed':unpulse
     });
4

1 に答える 1

0

イベントを削除しようとして.unbindいます。(また、あなたの構文.unbindはサポートされていませんが、とにかくあなたが求めているものではありません。)代わりに、pulseフェードを続行するかどうかを内部で確認してください。これpulseは が再帰的に呼び出されるため機能するため、フェードの繰り返しが停止するたびにチェックが行われます。

function pulse(){
  if(clicked) {
    playbtn.delay(200).fadeOut('slow').delay(50).fadeIn('slow', pulse);
  }
}
于 2012-12-11T15:37:03.427 に答える