如何用JavaScript编写一个天猫上使用的倒计时?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用JavaScript编写一个天猫上使用的倒计时?相关的知识,希望对你有一定的参考价值。
如何用JavaScript编写一个淘宝上使用的倒计时?请大神们指导我一下!谢谢啊。
主要注意一下几点,就可以了:
(1)用date方法进行时间计算,Date(year,month -1 , day)构造指定日期。
(2)new Date()获得现在的时间。
(3)用date计算两个毫秒差异,然后计算日、时、分、秒。
(4)用setInterval方法延迟启动一个js方法,没秒执行一次更新。
代码如下:
<!DOCTYPE html><html>
<head>
<meta charset="gb2312"></meta>
<title>倒计时</title>
<script>
function timer()
var now = new Date();
var endDate = new Date("2015", "03", "01");
var leftTime = endDate.getTime()- now.getTime();
var leftsecond = parseInt(leftTime/1000);
//var day1=parseInt(leftsecond/(24*60*60*6));
var day1=Math.floor(leftsecond/(60*60*24));
var hour=Math.floor((leftsecond-day1*24*60*60)/3600);
var minute=Math.floor((leftsecond-day1*24*60*60-hour*3600)/60);
var second=Math.floor(leftsecond-day1*24*60*60-hour*3600-minute*60);
document.getElementById("timer").innerHTML = day1 + "天" + hour + "时" + minute + "分" + second + "秒";
//每一秒执行一次 timer方法
setInterval("timer()",1000);
</script>
</head>
<body onload = "timer()">
距离2015-4-1日还有:
<div id="timer"></div>
</body>
</html>追问
谢谢你,那要是加比秒更小一个单位的那种怎么做呢?谢谢你!
追答比秒还小的是毫秒,getTime得到的就是毫秒,直接在秒后面加上leftTime就是剩余的毫秒了。
参考技术A倒计时,主要用的是 js里面的Date() 。下面是一个倒计时的例子,你可以参照修改:
<style>* margin:0px; padding:0px;
spandisplay:block; margin:50px auto; height:30px; width:500px; font-size:18px; line-height:30px; text-align:center;
</style>
<script>
window.onload=function()
var oSpan = document.getElementsByTagName('span')[0];
var toDate = new Date(2015,3,5,0,0,0,0);
var toTime = Math.floor(toDate.getTime()/1000);
toTimer();
setInterval(toTimer,60000);
function toTimer()
var nowDate = new Date();
var nowTime = Math.floor(nowDate.getTime()/1000);
var day = Math.floor((toTime-nowTime)/86400);
var hour = Math.floor((toTime-nowTime)%86400/3600);
var minute = Math.floor((toTime-nowTime)%86400%3600/60);
oSpan.innerHTML = '距离今年的清明节还有'+day+'天'+hour+'时'+minute+'分';
;
</script>
你如何用 Javascript 编写一个类? [复制]
【中文标题】你如何用 Javascript 编写一个类? [复制]【英文标题】:How do you write a class in Javascript? [duplicate] 【发布时间】:2010-10-29 23:37:08 【问题描述】:可能重复:What's the best way to define a class in javascript
你如何用 Javascript 编写一个类?有没有可能?
【问题讨论】:
确认。 “javascript”被编辑为“Javascript”而不是“JavaScript”。 我更喜欢 jAvAsCrIpt。这是正确的方法。 【参考方案1】:好吧,JavaScript 是一种基于原型的语言,它没有类,但您可以通过对象克隆和原型设计来进行经典继承,以及其他行为重用模式。
推荐文章:
Introduction to Object-Oriented JavaScript JavaScript Classical Inheritance JavaScript Private Members Class-Based vs. Prototype-Based Languages【讨论】:
【参考方案2】:function Foo()
// constructor
Foo.prototype.bar = function()
// bar function within foo
【讨论】:
我认为你在bar
的开头有一个额外的“功能”。 :-)
是的。另外,别忘了提到你必须使用 new Foo()。
哎呀修复了,我不习惯写 javascript oo。【参考方案3】:
Javascript 默认使用基于原型的 OO。
但是,如果您使用原型库,例如,您可以使用 Class.create()。
http://prototypejs.org/api/class/create
它可以让你创建(或继承)一个类,然后你可以用 new 实例化它的实例。
其他图书馆可能也有类似的设施。
【讨论】:
有的。 jQuery 没有,因为它预计您将更有可能处理 jQuery 集合而不是类。【参考方案4】:如果您使用原型或 jQuery 之类的库,它会容易得多,但传统的方法是这样做。
function MyClass()
MyClass.prototype.aFunction()
var instance = new MyClass();
instance.aFunction();
您可以在此处阅读更多内容http://www.komodomedia.com/blog/2008/09/javascript-classes-for-n00bs/
【讨论】:
【参考方案5】:“有点”可能。 Prototype 有一些在 JS 中编写类的内置帮助。看看this thorough description,你是如何做到的。
var namedClass = Class.create(
initialize: function(name)
this.name = name;
getName: function()
return this.name;
);
var instance = new namedClass('Foobar');
【讨论】:
【参考方案6】:JavaScript 基于对象,而不是类。它使用原型继承,而不是经典继承。
JavaScript 具有延展性并且易于扩展。因此,有许多库为 JavaScript 添加了经典继承。但是,使用它们可能会导致编写大多数 JavaScript 程序员难以遵循的代码。
【讨论】:
以上是关于如何用JavaScript编写一个天猫上使用的倒计时?的主要内容,如果未能解决你的问题,请参考以下文章
超实用的JavaScript代码段 Item1 --倒计时效果