如何将JavaScript计时器放入框中?
我有以下JavaScript代码:如何将JavaScript计时器放入框中?,javascript,jquery,Javascript,Jquery,我有以下JavaScript代码: <script type="text/javascript"> function timeMsg() { var t=setTimeout("doRedirect()",10000); } function doRedirect() { window.location.replace( "h
<script type="text/javascript">
function timeMsg() {
var t=setTimeout("doRedirect()",10000);
}
function doRedirect() {
window.location.replace( "http://www.codemeh.com/" );
}
timeMsg();
</script>
但我想展示一个浮动在右上角的盒子还有多少时间,我的l;对JavaScript知之甚少我不知道从哪里开始:
有人能帮我吗
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
timeLeft = 10;
function timeMsg() {
if(--timeLeft == 0) {
doRedirect();
} else {
$("#time").val(timeLeft);
setTimeout("timeMsg()",1000);
}
}
function doRedirect() {
window.location.replace( "http://www.codemeh.com/" );
}
$(document).ready(function() {
$("#time").val(timeLeft);
setTimeout("timeMsg()",1000);
});
</script>
<input id="time" size="5"></input>
演示:
演示:为您提供的快速解决方案:
<input id="box" type="text" size="8" />
<script>
//Init vars
var milsec=0;
var sec=30;
var box = document.getElementById("box");
function display() {
if (milsec <= 0){
milsec=9;
sec-=1;
}
if (sec <= -1){
milsec=0 ;
sec+=1;
} else {
milsec-=1 ;
box.value = sec + "." + milsec;
//call function display after 100ms
setTimeout(function() {display();},100);
}
}
display();
</script>
为您提供的快速解决方案:
<input id="box" type="text" size="8" />
<script>
//Init vars
var milsec=0;
var sec=30;
var box = document.getElementById("box");
function display() {
if (milsec <= 0){
milsec=9;
sec-=1;
}
if (sec <= -1){
milsec=0 ;
sec+=1;
} else {
milsec-=1 ;
box.value = sec + "." + milsec;
//call function display after 100ms
setTimeout(function() {display();},100);
}
}
display();
</script>
不要把字符串也传递给setTimeout,你是说setInterval,我是说setTimeout。两者都有效。允许传递字符串。不要把字符串也传递给setTimeout,你是说setInterval,我是说setTimeout。两者都有效。允许传递字符串。没有考虑嵌套超时。我喜欢这个。好的解决方案+1。只是一个问题,如果我不想重定向页面,我想做其他事情,我想我必须清除间隔。指定设置间隔是否正确。。。然后,当count==0为真时,我调用clearIntervalmyInterval?没有考虑嵌套超时。我喜欢这个。好的解决方案+1。只是一个问题,如果我不想重定向页面,我想做其他事情,我想我必须清除间隔。指定设置间隔是否正确。。。然后,当count==0为真时,我调用clearIntervalmyInterval?您可以传递display本身。您可以传递display本身。