亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

JavaScript 使用用戶的時間(以秒為單位)顯示消息

JavaScript 使用用戶的時間(以秒為單位)顯示消息

慕少森 2022-06-16 09:52:49
我有一個包含 5000 個文本字符串的列表,并且我為每個字符串分配了一個時間(在 0-86400 秒之間)我想獲取用戶的當前時間并顯示相應的文本字符串,然后在用戶的時間發生變化時更新顯示的文本以匹配下一個文本字符串等等...我對 JavaScript 很陌生,所以我不確定這是否是最好的解決方案,但我有使用兩個數組的想法,一個存儲文本字符串,另一個存儲時間。該代碼可以從“時間”數組中找到正確的時間,然后顯示具有來自另一個數組的相同索引的文本字符串。如果用戶的當前時間介于兩個值之間,則應選擇第一個值。例如:var interval = [0, 1728, 3456, 5184, 6912, 8640, 10368, 12096, 13824, 15552,17280, 19008, 20736, 22464, 24192, 25920, 27648, 29376, 31104, 32832,34560, 36288, 38016, 39744, 41472, 43200, 44928, 46656, 48384, 50112,51840, 53568, 55296, 57024, 58752, 60480, 62208, 63936, 65664, 67392,69120, 70848, 72576, 74304, 76032, 77760, 79488, 81216, 82944, 84672];var textstring = ["Verse 1", "Verse 2", "Verse 3", "Verse 4", "Verse 5", "Verse 6", "Verse 7", "Verse 8", "Verse 9", "Verse 10","Verse 11", "Verse 12", "Verse 13", "Verse 14", "Verse 15", "Verse 16", "Verse 17", "Verse 18", "Verse 19", "Verse 20","Verse 21", "Verse 22", "Verse 23", "Verse 24", "Verse 25", "Verse 26", "Verse 27", "Verse 28", "Verse 29", "Verse 30","Verse 31", "Verse 32", "Verse 33", "Verse 34", "Verse 35", "Verse 36", "Verse 37", "Verse 38", "Verse 39", "Verse 40","Verse 41", "Verse 42", "Verse 43", "Verse 44", "Verse 45", "Verse 46", "Verse 47", "Verse 48", "Verse 49", "Verse 50"];function displayverse() {    var now = new Date();    var hour = now.getHours();    var minute = now.getMinutes();    var second = now.getSeconds();    var currenttime = (hour * 3600) + (minute * 60) + second;    for (var i = 0; i < interval.length; i++) {        if (currenttime >= interval[i][0] && currenttime < interval[i][1]) {            document.getElementById('verse').innerHTML = textstring[i][0];        }    }}我當前的代碼不起作用。我認為我寫的'if'語句是不正確的。有人對我做錯了什么有任何想法嗎?這是我當前的代碼:https ://jsfiddle.net/wrgt1/9bs4eu5q/1/
查看完整描述

2 回答

?
哈士奇WWW

TA貢獻1799條經驗 獲得超6個贊

在您的代碼中:interval[i]不是數組,它已經是一個值,因此您正在undefined使用interval[i][0]or interval[i][1]。要獲得價值,您只需要interval[i]第一個值和interval[i+1]第二個值。


for (var i = 0; i < interval.length; i++) {

    if (currenttime >= interval[i] && currenttime < interval[i+1]) {

        document.getElementById('verse').innerHTML = textstring[i];

    }

}


查看完整回答
反對 回復 2022-06-16
?
守候你守候我

TA貢獻1802條經驗 獲得超10個贊

這是修改后的小提琴,出現代碼錯誤:


https://jsfiddle.net/ujfpy47a/


修改后的代碼:


     for (var i = 0; i < interval.length; i++) {

        if (currenttime >= interval[i] && currenttime < interval[i+1]) {

          document.getElementById('verse').innerHTML = textstring[i];

        }

      }


查看完整回答
反對 回復 2022-06-16
  • 2 回答
  • 0 關注
  • 102 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號