个人日常中遇到的js小功能记录,方便查看。

/**
* 判断是否包含字符串某字符串
* @param {[type]} str [被检测的字符串]
* @param {[type]} substr [检测是否含有的字符串]
* @return {Boolean} [ture,false]
*/
function isContains(str,substr) {
  return new RegExp(substr).test(str);
}

/**
* 判断文件是否是图片
* @param {[type]} fileType 文件类型,如"image/png"
* @return {Boolean}
*/
function isImageByType(fileType) {
  return fileType.indexOf("image") < 0 ? false : true;
}

/**
* 解析文件字节数
* @param {[type]} bytes 总字节数
* @param {[type]} decimal 小数点后位数
* @return {[type]} 解析后的文件大小
*/
function parseBytes(bytes, decimal) {
  var fileSize = 0,
    units = ["KB", "MB", "GB", "TB"];
    decimal = decimal || 3;
  for (var i = 0, size = bytes / 1024; size > 1; size /= 1024, i++) {
    fileSize = size.toFixed(decimal) + units[i];
  }
  return fileSize;
}

// 格式化时间显示,如"2月6日 13:01"
function formatTime(time) {
  var month, day, hour, minute;
  time = new Date(time);
  month = time.getMonth() + 1;
  day = time.getDate();
  hour = time.getHours();
  minute = time.getMinutes();
  minute < 10 && (minute = "0" + minute);
  return month + "月" + day + "日 " + hour + ":" + minute;
}

// 格式化时间显示,如"2017.02.07 19:01"
function formatDate(time) {
  var year, month, day, hour, minute;
  time = new Date(time);
  year = time.getFullYear();
  month = time.getMonth() + 1;
  day = time.getDate();
  hour = time.getHours();
  minute = time.getMinutes();
  // 若为个位数,则在前加“0”
  month < 10 && (month = "0" + month);
  day < 10 && (day = "0" + day);
  hour < 10 && (hour = "0" + hour);
  minute < 10 && (minute = "0" + minute);
  return year+"."+month + "." + day + " " + hour + ":" + minute;
}

// window resize和scroll事件的基本优化
var resizeTimer = null;
$(window).resize(function() {
  (resizeTimer) && clearTimeout(resizeTimer);
  resizeTimer = setTimeout(function() {
    console.info("resize触发了!");
  }, 100);
});

js小功能记录的更多相关文章

  1. js小功能整理

    /** * 判断是否包含字符串某字符串 * @param {[type]} str [被检测的字符串] * @param {[type]} substr [检测是否含有的字符串] * @return ...

  2. python小功能记录

    本博客会不断完善,记录python小功能. 1. 合并两个字典 # in Python 3.5+ >>> x = {'a': 1, 'b': 2} >>> y = ...

  3. JS中部分不常用小功能记录

    1.serializeArray()在表单中使用,必须在form标签中,需要手机的元素要有name属性.源生JS将对象转成json   resulrMK = JSON.stringify(resulr ...

  4. js小功能合集:计算指定时间距今多久、评论树核心代码、字符串替换和去除。

    1.计算指定时间距今多久 var date1=new Date('2017/02/08 17:00'); //开始时间 var date2=new Date(); //当前时间 var date3=d ...

  5. 点滴积累【JS】---JS小功能(JS实现模仿微博发布效果)

    效果: 思路: 利用多功能浮动运动框架实现微博效果,首先,将textarea中的属性添加到新创建的li里面然后,再将li添加到ul里面,再利用浮动运动框架将数据动态的显示出来. 代码: <hea ...

  6. 点滴积累【JS】---JS小功能(JS实现多功能缓冲运动框架)

    效果: 思路: 首先,多功能框架实现的功能是:css中所有的属性都可以添加进去(也可以把方法作为参数传递过去!),然后进行缓冲运动,比如:物体的高度.长度.颜色.字体大小.透明度等,都可以直接传入参数 ...

  7. js小功能2:切换

    HTML: <div id="tb"> <ul><li class="on">房产</li><li> ...

  8. 日常css和js小知识点记录

    2015-6-29 1.<meta name="viewport" content="width=device-width,user-scalable=no&quo ...

  9. 点滴积累【JS】---JS小功能(JS实现匀速运动)

    效果: 思路: 利用setInerval()计时器,进行运动.然后关键的一点是在最后停止的时候给它一个填充缝隙的判断. 代码: <head runat="server"> ...

随机推荐

  1. Docker系列之CentOS7安装Docker(一)

    0.前言 整体架构目录:ASP.NET Core分布式项目实战-目录 一.瞎扯淡(只讲有用的) 感兴趣的同学可以上网搜索一下docker具体的介绍.我这边主要介绍偏实战的内容,不喜勿喷,有问题也请指出 ...

  2. [webapp]移动平台各浏览器的分辨率适配

    搞webapp适配了N多浏览器,记一下各浏览器碰到的需要注意的地方. 目前发现firefox是最难适配的. 1.firefox只有在onload之后才能取到正确的innerwidth值. 2.目前版本 ...

  3. java中object数据怎么转换成json数据

    可以通过这个(json-lib-2.3-jdk15.jar)jar里的方法转换 JSONObject json = JSONObject.fromObject(Object); 如果对象数组 JSON ...

  4. Python学习过程笔记整理(二)

    程序三大结构 -顺序 -分支 -循环 分支 -语法: if 条件表达式: 语句 ... -双向分支 if 条件表达式: 语句 ... else: 语句 ... -多路分支 if 条件表达式: 语句 . ...

  5. Halcon四 双目视觉的标定

    原文作者写的一系列博客,挺不错的学习halcon:http://blog.sina.com.cn/s/blog_442bfe0e0100yjtn.html 1.get_image_pointer1(I ...

  6. mysql读写分离配置(整理)

    mysql读写分离配置 环境:centos7.2 mysql5.7 场景描述: 数据库Master主服务器:192.168.206.100 数据库Slave从服务器:192.168.206.200 M ...

  7. Redis源码阅读(六)集群-故障迁移(下)

    Redis源码阅读(六)集群-故障迁移(下) 最近私人的事情比较多,没有抽出时间来整理博客.书接上文,上一篇里总结了Redis故障迁移的几个关键点,以及Redis中故障检测的实现.本篇主要介绍集群检测 ...

  8. MyEclipse 和 eclipse 最简单的安装Jetty容器插件

    一.MyEclipse安装jetty 1.下载jetty插件  http://pan.baidu.com/s/1nuMYGNv 2.将下载后的jetty插件放到安装MyEclipse目录的MyEcli ...

  9. 03_set slice的时间复杂度

    set slice O(n+k) 使用切片赋值来解释set slice的时间复杂度 (1) 对li[0:3]赋值首先会删除1,2,3,空出来的位置被后面的元素依次向前移动填充,由del slice 得 ...

  10. [mysql] 归档工具pt-archiver,binlog格式由mixed变成row

    pt-archiver官方地址:https://www.percona.com/doc/percona-toolkit/3.0/pt-archiver.html 介绍:归档数据,比如将一年前的数据备份 ...