如何帶值到 function 繼續使用?即便 setTimeout ?

$(document).ready(function() {
    product_online(<?=$prodIdForOnline;?>, '<?=$urlForOnline;?>');
    product_update_online(<?=$prodIdForOnline;?>, '<?=$urlForOnline;?>');
  });

  function product_online(id, url){
    $('#product_online').load('/models/notify?type=product-online&url='+url+'&id='+id, function(data){
    });
    setTimeout(product_online, 15000);
  };

  function product_update_online(id, url){
    $('.product_online').load('/models/notify?type=product-update-online&url='+url+'&id='+id, function(data){
      console.log('updated');
    });
    setTimeout(product_update_online, 10000);
  };

這是我完成的代碼
一開始 ready 後會帶兩個值給 function 使用
但是超過 setTimeout 的時間後就沒有值了,我知道是因為 setTimeout 裡面的 function 沒有帶值的關係
那請問一下如何當 setTimeout 的時候會帶剛剛 ready 的值再繼續啟用 function ?

倚天杖
浏览 457回答 2
2回答

慕的地6264312

给setTimeout中的方法再包装一层即可, 举例: function foo(id) { console.log(id); setTimeout(function() {foo(id);}, 1000); }

智慧大石

setTimeout(code, milliseconds, param1, param2) // ie9+ 或者 setTimeout((function(param1, param2){ return function() { func(param1, param2) } }(param1, param2)), milliseconds)
打开App,查看更多内容
随时随地看视频慕课网APP