2012-11-11 3 views
1

문제는 다음과 같습니다. 확인란을 선택하면 타이머가 켜지고 확인란이 꺼지고 타이머가 꺼집니다. 나는 시도했지만 아무것도 시도하지 않았다.확인란 및 SetInterval

 $('#apply').click(function() { 


    if ($('#autoupdate').prop("checked")) { 

      var timerId = setInterval(function() { 
       $.ajax({ 
        type: "post", 
        url: "1.php", 
        cache: false, 
        success: function (html) { 
         $("#result").html(html); 
        } 
       }); 
      }, 1000); 

    } else {clearInterval(timerId);} 

    }); 


Autoupdate: <input type="checkbox" id="autoupdate"> 
<input id="apply" type="submit" value="Apply"> 
<div id="result"></div> 
+0

답을 보내 주셔서 감사합니다. 문제는 해결되지 않지만 타이머는 계속 진행됩니다. – user1816319

답변

2

외부 변수를 선언해야합니다. 그것의 정의를 유발 할 수 없습니다 다른 사람에서 if 다음에 접속 변수 timerId가 내부에 선언 않다면 같은

var timerId = 0; 

한 다음 코드

var timerId= 0; 
$('#apply').click(function() { 


    if ($('#autoupdate').prop("checked")) { 

      timerId = setInterval(function() { 
       $.ajax({ 
        type: "post", 
        url: "1.php", 
        cache: false, 
        success: function (html) { 
         $("#result").html(html); 
        } 
       }); 
      }, 1000); 

    } else {clearInterval(timerId);} 

}); 

원인을 넣어.

+0

답변을 주셔서 감사합니다. 문제는 해결되지 않지만 타이머는 계속 유지됩니다. – user1816319

+0

나는이 해결책이 효과가 있다는 것을 확신한다 ... –