如何用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 --倒计时效果

初学javascript,要求编写一个倒计时,格式如00:00:00该怎么实现?时间是自己设定,想设置多少秒就多少秒

你如何用 Javascript 编写一个类? [复制]

图文详解-如何用Axure做一个倒计时功能按钮

图文详解-如何用Axure做一个倒计时功能按钮

图文详解-如何用Axure做一个倒计时功能按钮