js實(shí)現(xiàn)京東秒殺倒計(jì)時(shí)功能
本文實(shí)例為大家分享了js實(shí)現(xiàn)京東秒殺倒計(jì)時(shí)功能的具體代碼,供大家參考,具體內(nèi)容如下
首先給大家看看效果圖,因?yàn)槭亲龅囊苿?dòng)端的,所以放大給大家看看局部就行:
關(guān)于實(shí)現(xiàn)京東秒殺,之前用過(guò)其他的方法,今天給大家分享一個(gè)原生的方法吧,不會(huì)很難.
1、倒計(jì)時(shí)頁(yè)面結(jié)構(gòu):
<div class="secondkill"> <div class="top"> <span class="red fl">掌上秒殺</span> <span class="num fl">0</span> <span class="num fl">5</span> <span class="colon fl">:</span> <span class="num fl">3</span> <span class="num fl">5</span> <span class="colon fl">:</span> <span class="num fl">3</span> <span class="num fl">0</span> <span class="more fr">更多</span> </div>
2、css樣式:這個(gè)是用css的編譯器sass寫(xiě)的
.secondkill { .top { height: 40px; border-top: 3px solid $jdred; border-bottom: 1px solid #ccc; padding-top: 5px; .red { color: $jdred; } .num { background-color: #000; margin: 0px 3px; padding: 3px; color: white; } }
3、js部分:
//倒計(jì)時(shí) //1. 指定倒計(jì)時(shí)的到期時(shí)間(2018-5-29 21:08:49) //可以直接使用年月日時(shí)分秒來(lái)創(chuàng)建一個(gè)date對(duì)象,但是月是從0開(kāi)始的 var to = new Date(2018, 4, 29, 20, 20, 10); function antitime() { var now = new Date(); //2. 拿到當(dāng)前時(shí)間和過(guò)期時(shí)間之間的時(shí)間差(毫秒) var deltaTime = to - now; //到期時(shí)間和當(dāng)前時(shí)間相差的毫秒數(shù) //如果超時(shí)了,就停止倒計(jì)時(shí) if (deltaTime <= 0) { //停止計(jì)時(shí)器 window.clearInterval(timer); //停止執(zhí)行下面的代碼 return; } //已知毫秒數(shù),算出幾分幾秒幾秒 var m = Math.floor(deltaTime / (60*1000)); //算出有多少秒 var s = Math.floor(deltaTime / 1000 % 60); //算出多少毫秒, 毫秒數(shù)只顯示10位和百位 var ms = Math.floor(deltaTime % 1000 / 10); //把時(shí)間的數(shù)字轉(zhuǎn)成字符串, 如果分秒毫秒不足10, 則前面補(bǔ)0 var timeStr = "" + (m<10?"0"+m:m) + (s<10?"0"+s:s) + (ms<10?"0"+ms:ms); console.log(timeStr); //063535 //each是用來(lái)遍歷.num元素, 其實(shí)你可以理解成循環(huán) $(".secondkill .num").each(function(index, span) { //console.log(span); $(span).html(timeStr.substring(index, index+1)); //$(span), span默認(rèn)是一個(gè)js對(duì)象,需要用$(span)變成一個(gè)jquery對(duì)象 //$(span).html();這個(gè)方法是用來(lái)設(shè)置span里面的值的 //timeStr.subSring();該方法是用來(lái)截取字符串 “abcdefg” }); } //每十毫秒執(zhí)行一次 var timer = setInterval(antitime, 10); });
注意部分:
1、注意這個(gè)部分,時(shí)間要給定一個(gè)時(shí)間,比如京東上午十點(diǎn)秒殺結(jié)束,那這里時(shí)間就要填10點(diǎn),注意月份是從0開(kāi)始的,所以5月要寫(xiě)4月。這個(gè)時(shí)間如果過(guò)了這個(gè)倒計(jì)時(shí)就不會(huì)再執(zhí)行了的,大家謹(jǐn)記。
var to = new Date(2018, 4, 29, 20, 20, 10);
2、這里拿到的是毫秒,在后面計(jì)算分秒毫秒的時(shí)候大家要注意換算。
//2. 拿到當(dāng)前時(shí)間和過(guò)期時(shí)間之間的時(shí)間差(毫秒) var deltaTime = to - now; //到期時(shí)間和當(dāng)前時(shí)間相差的毫秒數(shù)
3、要判斷,如果不足10就要給前面加一個(gè)0。
//把時(shí)間的數(shù)字轉(zhuǎn)成字符串, 如果分秒毫秒不足10, 則前面補(bǔ)0 var timeStr = "" + (m<10?"0"+m:m) + (s<10?"0"+s:s) + (ms<10?"0"+ms:ms); console.log(timeStr);
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- JavaScript仿京東秒殺倒計(jì)時(shí)
- JS腳本實(shí)現(xiàn)網(wǎng)頁(yè)自動(dòng)秒殺點(diǎn)擊
- Javascript實(shí)現(xiàn)商品秒殺倒計(jì)時(shí)(時(shí)間與服務(wù)器時(shí)間同步)
- 如何利用 JS 腳本實(shí)現(xiàn)網(wǎng)頁(yè)全自動(dòng)秒殺搶購(gòu)功能
- PHP+JS實(shí)現(xiàn)的商品秒殺倒計(jì)時(shí)用法示例
- JS實(shí)現(xiàn)商城秒殺倒計(jì)時(shí)功能(動(dòng)態(tài)設(shè)置秒殺時(shí)間)
- JS實(shí)現(xiàn)秒殺倒計(jì)時(shí)特效
- JavaScript實(shí)現(xiàn)京東秒殺效果
相關(guān)文章
JavaScript實(shí)現(xiàn)審核流程狀態(tài)的動(dòng)態(tài)顯示進(jìn)度條
對(duì)于有很多流程的東西,我們希望能夠根據(jù)不同的階段,用流程條對(duì)應(yīng)地進(jìn)行顯示,非常直觀,給用戶帶來(lái)極好的用戶體驗(yàn),下面小編給大家分享JavaScript實(shí)現(xiàn)審核流程狀態(tài)的動(dòng)態(tài)顯示進(jìn)度條功能,需要的的朋友參考下2017-03-03jQuery及JS實(shí)現(xiàn)循環(huán)中暫停的方法
這篇文章主要介紹了jQuery及JS實(shí)現(xiàn)循環(huán)中暫停的方法,以實(shí)例形式分析了循環(huán)中暫停的原理及實(shí)現(xiàn)技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-02-02也說(shuō)JavaScript中String類(lèi)的replace函數(shù)
最近讀了sharpxiajun的博文《javascript筆記--String類(lèi)replace函數(shù)的一些事》,感覺(jué)寫(xiě)的很好,很有幫助。2011-09-09H5實(shí)現(xiàn)手機(jī)拍照和選擇上傳功能
這篇文章主要為大家詳細(xì)介紹了H5實(shí)現(xiàn)手機(jī)拍照和選擇上傳功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-12-12JS實(shí)現(xiàn)動(dòng)態(tài)無(wú)縫輪播
這篇文章主要為大家詳細(xì)介紹了JS實(shí)現(xiàn)動(dòng)態(tài)無(wú)縫輪播,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-01-01javascript實(shí)現(xiàn)的時(shí)間格式加8小時(shí)功能示例
這篇文章主要介紹了javascript實(shí)現(xiàn)的時(shí)間格式加8小時(shí)功能,涉及javascript日期時(shí)間轉(zhuǎn)換與運(yùn)算相關(guān)操作技巧,需要的朋友可以參考下2019-06-06微信小程序picker組件關(guān)于objectArray數(shù)據(jù)類(lèi)型的綁定方法
這篇文章主要介紹了微信小程序picker組件關(guān)于objectArray數(shù)據(jù)類(lèi)型的綁定方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-03-03bootstrapfileinput實(shí)現(xiàn)文件自動(dòng)上傳
這篇文章主要介紹了bootstrapfileinput實(shí)現(xiàn)文件自動(dòng)上傳,bootstrap fileinput插件對(duì)多種類(lèi)型的文件提供文件預(yù)覽,并且提供了多選等功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-11-11簡(jiǎn)述凍結(jié)JS對(duì)象方法技術(shù)
本文主要介紹了凍結(jié)JS對(duì)象方法技術(shù),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07