文档章节

JavaScript常用函数汇总

阿祥_开源中国
 阿祥_开源中国
发布于 2015/03/30 16:51
字数 416
阅读 236
收藏 31
/**
 * 显示精确到天的倒计时
 * @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]);
}

 

© 著作权归作者所有

共有 人打赏支持
阿祥_开源中国
粉丝 18
博文 24
码字总数 9890
作品 0
朝阳
程序员
JavaScript函数以及基础写法汇总

今天四夕逛博客,突然看见JavaScript函数以及基础写法汇总,发现很有用,分享给使用JavaScript的朋友们。 1.document.write("");为 输出语句 2.JS中的注释为// 3.传统的HTML文档顺序是:docu...

oecp
2011/05/11
0
0
JavaScript的基本使用

一、JavaScript的简单介绍   JavaScript是一种属于网络的脚本语言(简称JS),已经被广泛用于Web应用开发,常用来为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果。通常JavaS...

码农47
03/15
0
0
《Node.js开发指南》书评汇总

刚查了下库存,发现订阅《Node.js开发指南》的读者大增,这是为什么呢?看了下近期本书在豆瓣的评论,口碑很好,现将豆瓣的书评汇总如下: ----------------------------------------------...

生气的散人
2012/10/15
0
0
在网页中JS函数自动执行常用三种方法

在网页中JS函数自动执行常用三种方法   在HTML中的Head区域中,有如下函数: <SCRIPT LANGUAGE="JavaScript">   functionn MyAutoRun()   {    //以下是您的函数的代码,请自行修改...

柠檬酷
2015/07/24
0
2
JavaWeb01-HTML篇笔记(七)

.1 案例三:完成对注册页面的数据的简单校验.1.1.1 需求: 对注册页面的数据进行非空的简单校验!!!如果有某个值没有输入,点击提交,弹出一个对话框进行提示!! 1.1.2 分析:1.1.2.1 技术分...

我是小谷粒
04/28
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

[MicroPython]STM32F407开发板驱动OLED液晶屏

1.实验目的 1.学习在PC机系统中扩展简单I/O 接口的方法。 2.进一步学习编制数据输出程序的设计方法。 3.学习 F407 Micropython开发板控制OLED显示字符。 2.所需元器件 F407 Micropython开发板...

bodasisiter
33分钟前
0
0
php require和include 相对路径一个有趣的坑

以前总是被教育,不要使用相对路径,这样性能比较差,但是相对路径的问题不仅仅是性能哦,看下面这里例子 这是项目结构 .├── main.php├── t│ ├── t1.php│ └── t2.php└─...

anoty
34分钟前
17
0
x64技术之SSDT_Hook

测试环境: 虚拟机: Windows 7 64bit 过PG工具 驱动加载工具 PCHunter64 系统自带的计算器和任务管理器等 实现思路: 实际思路与win32的思路一样.都是替换SSDT表里边的函数地址.不过微软被搞怕...

simpower
35分钟前
0
0
TreeMap源码分析,看了都说好

一、简介 TreeMap最早出现在JDK 1.2中,是 Java 集合框架中比较重要一个的实现。TreeMap 底层基于红黑树实现,可保证在log(n)时间复杂度内完成 containsKey、get、put 和 remove 操作,效率很...

Java小铺
45分钟前
0
0
协变、逆变

概念 假设 A、B表示类型 ≤ 表示继承关系 f<⋅>表示类型转换 若A ≤ B,则 A是B的子类,B是A的超类 协变、逆变 什么是型变?型变(type variance)允许对类型进行子类型转换。 为了下面讲解先...

obaniu
51分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部