日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

京东秒杀效果

發布時間:2023/12/20 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 京东秒杀效果 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

首先先利用html和css搭出架子:

* {margin: 0;padding: 0;}.box {width: 190px;height: 270px;color: #fff;text-align: center;margin: 100px auto;background-color: #d00;padding-top: 40px;box-sizing: border-box;}.box>h3 {font-size: 26px;}.box>p:nth-of-type(1) {color: rgba(255, 255, 255, .5);margin-top: 5px;}.box>i {display: inline-block;margin-top: 5px;margin-bottom: 5px;font-size: 40px;}.box>.time {display: flex;justify-content: center;margin-top: 10px;}.time>div {width: 40px;height: 40px;background: #333;line-height: 40px;text-align: center;font-weight: 700;position: relative;}.time>div::before {content: "";display: block;width: 100%;height: 2px;background: #d00;position: absolute;left: 0;top: 50%;transform: translateY(-50%);}.time>.minute {margin: 0 10px;} <div class="box"><h3>京東秒殺</h3><p>FLASH DEALS</p><i class="iconfont icon-lightningbshandian"></i><p>本場距離結束還剩</p><div class="time"><div class="hour">00</div><div class="minute">00</div><div class="second">00</div></div></div>

再來設計其邏輯部分:

獲取相關元素

定義一個處理兩個時間差的函數,需要注意的是對于小時、分鐘、秒鐘如果小于10,那么應該在前面添加“0”來占位,最后利用對象的形式將其返回

為了實現其一個動態的效果,我們可以利用setInterval(),將獲取到的時分秒全部放入進去,使其每隔一秒就變化一次

為了用戶一打開就能看到效果,我們可以將獲取到的時分秒封裝到一個函數里,在setInterval()里和外直接調用函數即可實現

//1.獲取需要操作的元素const oHour = document.querySelector(".hour");const oMinute = document.querySelector(".minute");const oSecond = document.querySelector(".second");//2.處理時間差const remDate = new Date("2021-10-28 23:59:59");setTime(remDate);//開啟定時器setInterval(function() {setTime(remDate);}, 1000);//為了讓用戶一進來就看得到效果,而不是先是三個00// 我們可以對其進行封裝處理function setTime(remDate) {const obj = getDifferTime(remDate);// console.log(obj);//3.將差值設置給元素oHour.innerText = obj.hour;oMinute.innerText = obj.minute;oSecond.innerText = obj.second;}function getDifferTime(remDate, curDate = new Date()) {//1.得到兩個時間之間的差值(毫秒)const differTime = remDate - curDate;//2.得到兩個時間之間的差值(秒 )const differSecond = differTime / 1000;//3.利用相差的總秒數 / 每一天的秒數 = 相差的天數let day = Math.floor(differSecond / (60 * 60 * 24));day = day >= 10 ? day : "0" + day;//4.利用相差的總秒數 / 小時 % 24let hour = Math.floor(differSecond / (60 * 60) % 24);hour = hour >= 10 ? hour : "0" + hour;//5.利用相差的總秒數 / 分鐘 % 60let minute = Math.floor(differSecond / 60 % 60);minute = minute >= 10 ? minute : "0" + minute;// 6.利用相差的總秒數 % 秒數let second = Math.floor(differSecond % 60);second = second >= 10 ? second : "0" + second;return {day: day,hour: hour,minute: minute,second: second,}}

總結

以上是生活随笔為你收集整理的京东秒杀效果的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。