/** * 顯示精確到天的倒計時 * @param timeStr 日期字符串,格式:2017年04月30日09時00分11秒 * @param currDate 當前時間的 Date 對象 */ export function showCountdownAccurateToDate (timeStr, currDate) { const TOTAL_TIME_FOR_SECOND = 1000 const TOTAL_TIME_FOR_MINUTE = TOTAL_TIME_FOR_SECOND * 60 const TOTAL_TIME_FOR_HOUR = TOTAL_TIME_FOR_MINUTE * 60 const TOTAL_TIME_FOR_DAY = TOTAL_TIME_FOR_HOUR * 24 let time = new Date(timeStr.replace(/[年月]/g, '/').replace(/[日秒]/g, ' ').replace(/[時分秒]/g, ':').substring(0, 19)).getTime() let nowTime = currDate.getTime() let timeDiff = time - nowTime let showStr = [] if (time - nowTime > 0) { let day = parseInt(timeDiff / TOTAL_TIME_FOR_DAY) let hour = parseInt((timeDiff - day * TOTAL_TIME_FOR_DAY) / TOTAL_TIME_FOR_HOUR) let minute = parseInt((timeDiff - day * TOTAL_TIME_FOR_DAY - hour * TOTAL_TIME_FOR_HOUR) / TOTAL_TIME_FOR_MINUTE) let second = parseInt((timeDiff - day * TOTAL_TIME_FOR_DAY - hour * TOTAL_TIME_FOR_HOUR - minute * TOTAL_TIME_FOR_MINUTE) / TOTAL_TIME_FOR_SECOND) showStr.push(day + '天') showStr.push(hour + '時') showStr.push(minute + '分') showStr.push(second + '秒') return showStr.join('') } else { return timeStr } }
/** * 測量文本的寬度,基於 jQuery * @function measureTxtWidth * @param $source 須要測量文本寬度的 jquery 對象 * @returns {number} 返回文本的寬度 */ function measureTxtWidth($source) { var txtWidth = null; var text = $source.text(); var $span = $("<span>" + text + "</span>").appendTo("body"); $span.css({whiteSpace: "nowrap", font: $source.css("font")}); txtWidth = $span.width(); $span.remove(); return txtWidth; }
/** * 根據電話號碼獲取位置信息,使用拍拍開放 api * @function getPosiByPhoneNo * @param phoneNo 電話號碼 * @param succFunc 調用接口成功的回調函數 * @returns {undefined} * @example 回調函數入參的數據格式以下: { "mobile": "1857*******", "province": "廣東", "isp": "中國聯通", "stock": "1", "amount": "10000", "maxprice": "0", "minprice": "0", "cityname": "深圳" } */ function getPosiByPhoneNo(phoneNo, succFunc) { $.ajax({ url: "http://virtual.paipai.com/extinfo/GetMobileProductInfo", type: "get", data: {mobile: phoneNo, amount: 10000}, dataType: "jsonp", jsonp: "callname", jsonpCallback: "getPositionCallback", success: function(data){ succFunc && succFunc(data); }, error: function(xhr, errorCode){ console.log("根據手機號獲取歸屬地服務失敗【前端】"); } }); }
/** * 打印日誌 * @param info 須要打印的數據 */ function _log(info) { var loggerDom = document.querySelector("#logger"); var loggerTitle = null; if(!loggerDom) { loggerDom = document.createElement("div"); loggerDom.id = "logger"; loggerTitle = document.createElement("p"); loggerTitle.innerHTML = "日誌標題:"; loggerTitle.style.cssText = "color:blue;font-weight:bold"; loggerDom.appendChild(loggerTitle); document.querySelector("body").appendChild(loggerDom); } var pDom = document.createElement("p"); pDom.innerHTML = new Date().toISOString() + ":<span style='color:red;font-weight:bold;'>" + info + "</span>"; loggerDom.insertBefore(pDom, loggerDom.childNodes[1]); }