2016-07-11 8 views
0

次のスクリプトを使用していて、理想的にはif(callOnce)でトリガされる2つの関数を取得したいと思っています。私は2つの関数を追加します(例2 - 同期関数とフェード関数)。彼らはどちらも結果を生み出すことができません。すべてのヘルプ感謝...条件付き引数でトリガされた関数へのJavascript

例1

function aperture() { 
     "use strict"; 
     var media = document.getElementsByTagName("video")[0]; 
     if ((media.duration - media.currentTime) < 475) 
      if (callOnce) { 
       sync(); 
       callOnce = false; 
      } 
    } 

例2

function aperture() { 
    "use strict"; 
    var media = document.getElementsByTagName("video")[0]; 
    if ((media.duration - media.currentTime) < 475) 
     if (callOnce) { 
      sync(); 
      fade(); 
      callOnce = false; 
     } 
} 
+0

2つの言及した関数の定義を投稿してください。また、2つの機能が何を生み出すと思いますか? – 10100111001

+0

は 'callOnce'が宣言されていますか? – ray

答えて

1

はこれを試してください:

var aperture = (function() { 
    var called = false; 

    return function() { 
     if(called) return; 

     var media = document.getElementsByTagName("video")[0]; 
     if ((media.duration - media.currentTime) < 475) { 
      sync(); 
      fade(); 
     } 

     called = true; 
    } 

})(); 
関連する問題