Javascript 将jQuery计时器和重定向转换为分钟和秒,而不仅仅是秒

Javascript 将jQuery计时器和重定向转换为分钟和秒,而不仅仅是秒,javascript,jquery,html,Javascript,Jquery,Html,我发现了这个基于jQuery的轻量级、优秀的计时器和重定向脚本,它是由“”站点创建的。脚本在设定的秒数后重定向用户: HTML: 这是小提琴: 我正在尝试修改它,使其能够以分钟和秒为单位工作-有人知道如何做到这一点吗?我已经尝试过简单地将HTML修改为25:00,但这似乎不起作用(虽然它不会那么简单!) 非常感谢您的帮助…最好在此时使用数据属性,并以文本形式显示所需内容: JSFiddle: 您可以使用.data('time')或.attr('data-time') 最后一次清理: 虽然在使用j

我发现了这个基于jQuery的轻量级、优秀的计时器和重定向脚本,它是由“”站点创建的。脚本在设定的秒数后重定向用户:

HTML:

这是小提琴:

我正在尝试修改它,使其能够以分钟和秒为单位工作-有人知道如何做到这一点吗?我已经尝试过简单地将HTML修改为25:00,但这似乎不起作用(虽然它不会那么简单!)


非常感谢您的帮助…

最好在此时使用数据属性,并以文本形式显示所需内容:

JSFiddle: 您可以使用
.data('time')
.attr('data-time')

最后一次清理: 虽然在使用jQuery
id
选择器时并不十分重要(因为它们比类选择器速度快),但您应该重用变量,而不是重复调用jQuery选择器。本例使用
$span
而不是
$(“#spnSeconds”)
。$prefix是jQuery对象变量的典型前缀(可读性更强):


谢谢你!这看起来真的很棒-我想要的输出是25:00,而不是“25分零秒”。我已经删除了分钟和秒的html代码。但是,在小于10秒的情况下,如何向输出添加前导零?此外,如果要动态设置数据时间属性(例如,25:10),如何计算数据时间属性?再次感谢你的帮助-真的很感动@user2761030:根据请求更新。。。数据属性值只是以毫秒为单位的时间,因此
分钟*60000+秒*1000
@TrueBlueAussie惊人!非常感谢您修改和解释毫秒规则-现在可以将其合并到我们的代码中!
<h1>You will be redirect to actual page after <span id="spnSeconds">10000</span> seconds.</h1>
$(document).ready(function () {
    window.setInterval(function () {
        var iTimeRemaining = $("#spnSeconds").html();
        iTimeRemaining = eval(iTimeRemaining);
        if (iTimeRemaining == 0) {
            location.href = "http://jquerybyexample.blogspot.com/";
        } else {
            $("#spnSeconds").html(iTimeRemaining - 1);
        }
    }, 1000);
});
<h1>You will be redirect to actual page after <span id="spnSeconds" data-time="1500000">25 minutes</span></h1>

$(document).ready(function () {
    window.setInterval(function () {
        var iTimeRemaining = $("#spnSeconds").data('time');
        iTimeRemaining = ~~iTimeRemaining;
        if (iTimeRemaining == 0) {
            location.href = "http://jquerybyexample.blogspot.com/";
        } else {
            var mins = ~~(iTimeRemaining / 60000);
            $("#spnSeconds").html(mins + " minutes " + ~~(iTimeRemaining / 1000 % 60) + " seconds");
            $("#spnSeconds").data('time', iTimeRemaining - 1000);
        }
    }, 1000);
});
function pad(num, size) {
    var s = "000000000" + num;
    return s.substr(s.length-size);
}

$(document).ready(function () {
    window.setInterval(function () {
        var iTimeRemaining = $("#spnSeconds").data('time');
        iTimeRemaining = ~~iTimeRemaining;
        if (iTimeRemaining == 0) {
            location.href = "http://jquerybyexample.blogspot.com/";
        } else {
            var mins = ~~(iTimeRemaining / 60000);
            $("#spnSeconds").html(mins + ":" + pad(~~(iTimeRemaining / 1000 % 60),2));
            $("#spnSeconds").data('time', iTimeRemaining - 1000);
        }
    }, 1000);
});
var $span = $("#spnSeconds");
var iTimeRemaining = $span.data('time');
iTimeRemaining = ~~iTimeRemaining;
if (iTimeRemaining == 0) {
    location.href = "http://jquerybyexample.blogspot.com/";
} else {
    $span.html(~~(iTimeRemaining / 60000) + ":" + pad(~~(iTimeRemaining / 1000 % 60),2));
    $span.data('time', iTimeRemaining - 1000);
}