-2

添加:

好的,添加一些额外的细节,因为我认为你必须保持问题简洁,但由于缺乏研究而被否决。这个脚本大约是我尝试做我想做的事情并在各种浏览器上工作的第三或第四个脚本。当它不起作用时,我确实搜索了资源来提供帮助,并认为这可能是在 IE 不喜欢输入 ID 时输出倒计时的方式,所以尝试了其他方式来显示它但无法让它工作,因此问题。一个 IE 没有显示任何错误,它只是没有显示任何内容 - 因此它只是对输入 id 的猜测。

我找到了这个 Javascript 代码——甚至可能在这里,它完全符合我的要求,并且在 FF 和 Chrome 中显示良好。不幸的是,尽管它在 IE 中根本不显示倒计时,并且想知道是否有任何方法可以更改与 IE 兼容的倒计时输出方式。

这是我正在使用的代码:

<script type="text/javascript">
// set minutes
var mins = 5;

// calculate the seconds (don't change this! unless time progresses at a different speed for you...)
var secs = mins * 60;
function countdown() {
    setTimeout('Decrement()',1000);
}
function Decrement() {
    if (document.getElementById) {
        minutes = document.getElementById("minutes");
        seconds = document.getElementById("seconds");
        // if less than a minute remaining
        if (seconds < 59) {
            seconds.value = secs;
        } else {
            minutes.value = getminutes();
            seconds.value = getseconds();
        }
        secs--;
        setTimeout('Decrement()',1000);
    }
}
function getminutes() {
    // minutes is seconds divided by 60, rounded down
    mins = Math.floor(secs / 60);
    return mins;
}
function getseconds() {
    // take mins remaining (as seconds) away from total seconds remaining
    return secs-Math.round(mins *60);
}
</script>

并像这样显示它:

<div id="timer">
Time Ending In: <input id="minutes" type="text"> minutes and <input id="seconds"         type="text"> seconds.
</div>
   <script>
   countdown();
   </script>

正如我所说,上述在 FF 和 Chrome 中显示良好 - 有没有办法让它在 IE 中工作?

提前致谢。

4

2 回答 2

0

<script type="text/javascript">... var minutes, seconds; ...

于 2013-04-07T02:36:14.217 回答
0
    <script type="text/javascript">

var minutes, seconds;

// set minutes
var mins = 5;

// calculate the seconds (don't change this! unless time progresses at a different speed for you...)
var secs = mins * 60;

function countdown() {
    setTimeout('Decrement()',1000);
}
function Decrement() {
        minutes = document.getElementById("minutes");
        seconds = document.getElementById("seconds");
        // if less than a minute remaining
        if (seconds < 59) {
            seconds.value = secs;
        } else {
            minutes.value = getminutes();
            seconds.value = getseconds();
        }
        secs--;
        setTimeout('Decrement()',1000);

}
function getminutes() {
    // minutes is seconds divided by 60, rounded down
    mins = Math.floor(secs / 60);
    return mins;
}
function getseconds() {
    // take mins remaining (as seconds) away from total seconds remaining
    return secs-Math.round(mins *60);
}
</script>
<div id="timer">
Time Ending In: <input id="minutes" type="text"> minutes and <input id="seconds" type="text"> seconds.
</div>
   <script>
   countdown();
   </script>
于 2013-04-07T02:39:20.387 回答