+ -
当前位置:首页 → 问答吧 → 求帮忙改个倒计时JS效果,方便做促销

求帮忙改个倒计时JS效果,方便做促销

时间:2010-06-02

来源:互联网

想做个手动促销效果,搜到了这个贴,不过跟我想的还有点不同,希望大侠出现帮我改改,不甚感激
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>title</title> <style type="text/css"> div { margin: 5px; padding: 3px; border: 1px solid green; background-color: #ccc; } div span { font-size: 12px; color: black; } </style> </head> <body> <div id="div0" style="background:#FFFF00"><b>[时间表最好单独放出来方便摆放位置]</b>时间到本DIV隐藏</div> <div id="div1" style="background:#FFFFCC"><b>[时间表最好单独放出来方便摆放位置]</b>上1个DIV到时间这个DIV显示</div> <div id="div2" style="background:#FFCCFF"><b>[时间表最好单独放出来方便摆放位置]</b>上1个DIV到时间这个DIV显示</div> <div id="div3" style="background:#99FFFF"><b>[时间表最好单独放出来方便摆放位置]</b>上1个DIV到时间这个DIV显示</div> <script type="text/javascript"> <!-- function t2s(t) { var s = t.replace(/(\d+):(\d+):(\d+)/, function ($0, $1, $2, $3) { return parseInt($1) * 3600 + parseInt($2) * 60 + parseInt($3) }); return isNaN(s) ? 0 : s; } function s2t(n) { var s, m, h; if (isNaN(n) || n < 0) return ""; s = n % 60; n = (n - s) / 60; m = n % 60; h = (n - m) / 60; return (h < 10 ? "0" : "") + h + ":" + (m < 10 ? "0" : "") + m + ":" + (s < 10 ? "0" : "") + s; } function Timer(container, id, time, func) { var span = document.createElement("span"); container = container || document.body; container.appendChild(span); span.id = id; span.time = t2s(time); span.innerText = time; Timer.reg(span, func); } Timer.id = null; Timer.list = []; Timer.reg = function (item, func) { Timer.list[Timer.list.length] = {"item": item, "func": func}; if (null == Timer.id) Timer.id = window.setTimeout(Timer.func, 1000); } Timer.func = function () { var i, n, o; if (Timer.list.length > 0) { Timer.id = window.setTimeout(Timer.func, 1000); for (i = Timer.list.length - 1; i >= 0; i--) { o = Timer.list[i]; o.item.innerText = s2t(--o.item.time); if (o.item.time == 0) { Timer.list.splice(i, 1); if (o.func) o.func.call(o.item); } } } if (Timer.list.length == 0) { window.clearTimeout(Timer.id); Timer.id = null; } } var ids = [1, 2, 3, 4]; var times = ["02:02:03", "00:00:20", "00:00:10", "00:00:5"]; var func = function () { this.innerText = "time out"; }; for (var i = 0; i < ids.length; i++) Timer(document.getElementById("div" + i), ids[i], times[i], func); //--> </script> </body> </html>
 提示:您可以先修改部分代码再运行
有几个小小的要求就是上面这几个层当到时间了可以按照顺序显示方便放不同的促销商品,
还有前面再加多个天数
另外测试了下火狐浏览器不显示倒计时表,IE6.IE7正常
多谢了!
原帖在这里
http://bbs.blueidea.com/thread-2838161-1-1.html

[ 本帖最后由 caiys203 于 2010-6-2 11:06 编辑 ]

作者: caiys203   发布时间: 2010-06-02

相关阅读 更多