2013-10-03 39 views
0

我想创建一个切换按钮,当按下toggel时应该运行一个函数。 并且当切换关闭时功能应该停止。但是无论何时开启切换,它都应该持续运行功能。jquery ui切换按钮来触发setTimeout函数

JSBIN尝试: http://jsbin.com/AbIzuNO/1/edit

HTML:

<input type="checkbox" id="check" /> 
<label for="check">Toggle</label> 

JS:

var Autoreload; 

$("#check").button({ 
    icons: { 
     primary: "ui-icon-circle-triangle-s" 
    } 
}).click(function() { 
    var iconClass; 
    if ($(this).is(':checked')) { 
     iconClass = "ui-icon-circle-triangle-e"; 
     Autoreload = setTimeout(function() { 
      //Run somefunction here constantly untill cleared 
      //$.getJSON("ajax/test.json", function(data) { 
      // some success calls 
      //}); 
      console.log("Running"); 
     }, 100); 

    } else { 
     iconClass = "ui-icon-circle-triangle-s"; 
     clearTimeout(Autoreload); 
    } 
    $(this).button("option", { 
     icons: { 
      primary: iconClass 
     } 
    }); 
}); 

回答

1

变化

  • setTimeoutsetInterval

  • clearTimeoutclearInterval