+ -
当前位置:首页 → 问答吧 → 回调函数的问题?

回调函数的问题?

时间:2010-10-07

来源:互联网

JScript code

function selectTag(showContent,selfObj){
        // 操作标签
        var tag = document.getElementById("tags").getElementsByTagName("li");
        var taglength = tag.length;
        for(i=0; i<taglength; i++){
            tag[i].className = "";
        }
        selfObj.parentNode.className = "selectTag";
        // 操作内容
        for(i=0; j=document.getElementById("tagContent"+i); i++){
            j.style.display = "none";
            $("#tagContent"+i).html("&nbsp;");
        }
        document.getElementById(showContent).style.display = "block";
        var itemID=showContent.substr(10);
        $.get("getData.asp",{boardID:itemID,rnd:new Date().getTime()},function(msg){$("#"+showContent).html(msg);});
        window.setInterval("setRemainTime()",1000);
    }
//倒计时函数
    function setRemainTime(){
        var sysec=parseInt($('#sec_left').text());
         if (sysec > 0) {
             sysec = sysec - 1;
             var second = Math.floor(sysec % 60);
             var minite = Math.floor((sysec / 60) % 60);
             var hour = Math.floor((sysec / 3600) % 24);
             var day = Math.floor((sysec / 3600) / 24);
             $("#time").html(day + "" + hour + " 小时 " + minite + "" + second + "");
         }
    }

<div id="con">
      <ul id="tags">
          <li class="selectTag"><a href="javascript:;" onclick="selectTag('tagContent0',this)">消 费</a></li>
          <li><a href="javascript:;" onclick="selectTag('tagContent1',this)">餐 饮</a></li>
          <li><a href="javascript:;" onclick="selectTag('tagContent2',this)">家 电</a></li>
          <li><a href="javascript:;" onclick="selectTag('tagContent3',this)">家 具</a></li>
          <li><a href="javascript:;" onclick="selectTag('tagContent4',this)">其 他</a></li>
      </ul>
        <div id="tagContent">
            <div class="tagContent selectTag" id="tagContent0"><%Call Products(1,1,1,"Products")%></div>
            <div class="tagContent" id="tagContent1">&nbsp;</div>
            <div class="tagContent" id="tagContent2">&nbsp;</div>
            <div class="tagContent" id="tagContent3">&nbsp;</div>
            <div class="tagContent" id="tagContent4">&nbsp;</div>
        </div>
    </div>


为何window.setInterval只执行1次

作者: quweiie   发布时间: 2010-10-07

你怎麼判斷他只執行一次? 有JS的錯誤嗎?
拿你的程式碼做個範例,跑得挺好的。
HTML code

<html>
<head>
<script type="text/javascript">
function selectTag(i){ 
    window.setInterval("setRemainTime("+i+")",1000); 
    //window.setInterval("setRemainTime()",1000); 
} 
//倒计时函数  
function setRemainTime(i){ 
if(i==null) i=0;
var sysec=parseInt(document.getElementById('left'+i).value); 
if (sysec > 0) { sysec = sysec - 1; 
var second = Math.floor(sysec % 60); 
var minite = Math.floor((sysec / 60) % 60); 
var hour = Math.floor((sysec / 3600) % 24); 
var day = Math.floor((sysec / 3600) / 24); 
document.getElementById("tagContent"+i).innerHTML = day + "" + hour + " 小时 " + minite + "" + second + ""; 
document.getElementById('left'+i).value = sysec;
}
} 
</script>
</head>
<body>
<a href="javascript:;" onclick="selectTag(0)">消 费</a>&nbsp;
<a href="javascript:;" onclick="selectTag(1)">餐 饮</a>&nbsp;
<a href="javascript:;" onclick="selectTag(2)">家 电</a>&nbsp;
<a href="javascript:;" onclick="selectTag(3)">家 具</a>&nbsp;
<a href="javascript:;" onclick="selectTag(4)">其 他</a>&nbsp;
<input type="hidden" id="left0" value="186400">
<input type="hidden" id="left1" value="186400">
<input type="hidden" id="left2" value="186400">
<input type="hidden" id="left3" value="186400">
<input type="hidden" id="left4" value="186400"><br>
<span id="tagContent0"></span><br>
<span id="tagContent1"></span><br>
<span id="tagContent2"></span><br>
<span id="tagContent3"></span><br>
<span id="tagContent4"></span><br>
</body>
</html>

作者: kebin0001   发布时间: 2010-10-07