/** * 显示精确到天的倒计时 * @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]); }