仅在一个元素上应用setinterval

时间:2013-10-19 17:00:41

标签: javascript jquery

我使用此代码

var auto_refresh = setInterval(
function (){

        if (!localStorage) {
            return false;
        }

        if (!localStorage['VLR_CountMinichat']) {
            localStorage.setItem("VLR_CountMinichat", 0);
        }

        getnumber = localStorage.getItem("VLR_CountMinichat");
        $("#ajax-test").load("/ajax", {
            VLR_CountMinichat: getnumber
        });

}, 20000);

获取localStorage的变量并在ajax中重新加载,但是如果页面上只有#ajax-test,我想激活它,因为它是为记录用户保留的功能,该怎么做?

1 个答案:

答案 0 :(得分:4)

只需测试长度,以确保可用性。

$(function(){

   //.... 
   var $ajaxTest = $("#ajax-test"), auto_refresh;
   if($ajaxTest.length){
         auto_refresh = setInterval(runAjax, 20000);
   }

  function runAjax(){

    if (!localStorage) {
        return false;
    }

    if (!localStorage['VLR_CountMinichat']) {
        localStorage.setItem("VLR_CountMinichat", 0);
    }

    var getnumber = localStorage.getItem("VLR_CountMinichat");
    $ajaxTest.load("/ajax", {
        VLR_CountMinichat: getnumber
    });
 }
});