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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > vue >内容正文

vue

js中同时得到整数商及余数_js和vue实现时分秒倒计时的方法

發布時間:2024/4/11 vue 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 js中同时得到整数商及余数_js和vue实现时分秒倒计时的方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我們平常瀏覽網頁的時候,經常見到“距游戲公測1天2小時3分鐘4秒”這樣的倒計時器。像切圖網qietu.com經常就遇到要做倒計時的效果,干脆記錄下來,免得重復造輪子。

下面兩個 demo 將分別用純 JavaScript 、基于 Vue.js 的 JavaScript 實現。代碼中可能包含部分 ES6 語法,但相信很容易理解。

JavaScript
創建一個 countdown 方法,用于計算并在控制臺打印距目標時間的日、時、分、秒數,每隔一秒遞歸執行一次。

msec 是當前時間距目標時間的毫秒數,由時間戳相減得到,我們將以這個數為基礎計算。我們都知道1天等于24小時,1小時等于60分鐘,1分鐘等于60秒,1秒等于1000毫秒。所以,msec / 1000 / 60 / 60 / 24 保留整數就是天數。如果換用 % 取余數,再保留整數后得到的就是小時數。以此類推就能算出其他所有數。

function countdown () {
// 目標日期時間戳
const end = Date.parse(new Date(‘2017-12-01’))
// 當前時間戳
const now = Date.parse(new Date())
// 相差的毫秒數
const msec = end – now
// 計算時分秒數
let day = parseInt(msec / 1000 / 60 / 60 / 24)
let hr = parseInt(msec / 1000 / 60 / 60 % 24)
let min = parseInt(msec / 1000 / 60 % 60)
let sec = parseInt(msec / 1000 % 60)
// 個位數前補零
hr = hr > 9 ? hr : ‘0’ + hr
min = min > 9 ? min : ‘0’ + min
sec = sec > 9 ? sec : ‘0’ + sec
// 控制臺打印
console.log(`${day}天 ${hr}小時 ${min}分鐘 ${sec}秒`)
// 一秒后遞歸
setTimeout(function () {
countdown()
}, 1000)
}
控制臺打印結果:

27天 07小時 49分鐘 10秒
27天 07小時 49分鐘 09秒
27天 07小時 49分鐘 08秒

Vue.js
如果單純使用 JavaScript ,我們需要在每次計算后手動更新 DOM 元素(將數據顯示給用戶),既不方便又難以維護。實際項目中更多的是配合前端框架,將計算結果實時渲染到頁面上。

頁面結構中的數據來自 Vue 實例的 data 對象。

{{ `${day}天 ${hr}小時 ${min}分鐘 ${sec}分鐘` }}
mounted 是 Vue 的生命周期方法,可以理解為在頁面加載完畢后執行 countdown 方法。countdown 方法每隔一秒會執行一次,并將計算結果分別賦予變量 day、hr、min、sec,同時改變的還有頁面上顯示的內容。

new Vue({
el: ‘#app’,
data: function () {
return {
day: 0, hr: 0, min: 0, sec: 0
}
},
mounted: function () {
this.countdown()
},
methods: {
countdown: function () {
const end = Date.parse(new Date(‘2017-12-01’))
const now = Date.parse(new Date())
const msec = end – now
let day = parseInt(msec / 1000 / 60 / 60 / 24)
let hr = parseInt(msec / 1000 / 60 / 60 % 24)
let min = parseInt(msec / 1000 / 60 % 60)
let sec = parseInt(msec / 1000 % 60)
this.day = day
this.hr = hr > 9 ? hr : ‘0’ + hr
this.min = min > 9 ? min : ‘0’ + min
this.sec = sec > 9 ? sec : ‘0’ + sec
const that = this
setTimeout(function () {
that.countdown()
}, 1000)
}
}
})
相關環境:Windows 7 x64 / Vue.js 2.4.4

總結

以上是生活随笔為你收集整理的js中同时得到整数商及余数_js和vue实现时分秒倒计时的方法的全部內容,希望文章能夠幫你解決所遇到的問題。

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