个人日常中遇到的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. [BZOJ1974][SDOI2010]代码拍卖会[插板法]

    题意 询问有多少个数位为 \(n\) 的形如 \(11223333444589\) 的数位值不下降的数字在\(\mod p\) 的意义下同余 \(0\). $n\leq 10^{18} ,p\leq ...

  2. python面试题(三)

    一.项目技术点梳理 (一)Django项目 本项目是用python的Django框架开发的前后端不分离项目.项目采用MVT架构,使用的MySQL和redis数据库,用Django自带的orm与数据库交 ...

  3. CSS动画效果之animation

    Y(^o^)Y css动画大乱弹之animation. 概述 什么是animation呢?在回答这个问题之前,先要说明什么叫做@keyframe(关键帧).@keyframe算是一个动画模板.在其中, ...

  4. 百度ueditor 文本框

    所需配置(qui框架) <!--ueEditor编辑器start--> <script>  window.UEDITOR_HOME_URL = ctx+"/stati ...

  5. 从hs_strcpy谈安全——缓冲区溢出

    对于大多数的博友来说,hs_strcpy一定会很陌生,因为这个hs_strcpy这个关键字和我的工作有挂钩.本来目前就职于恒生电子,hs_strcpy是中间件中公司定义的字符串拷贝方法,在工作业余之余 ...

  6. TPO-23 C2 Advice on choosing courses

    第 1 段 1.Listen to a conversation between a student and his English professor. 请听一段学生与他的英文教授的对话. 第 2 ...

  7. Unity中使用C#实现UDP广播

    没有系统的学习过网络,想做联机游戏还真是费劲,想做在局域网内实现自动搜索服务器的功能,然后就想到了使用UDP进行广播,把服务器的信息广播给每一个玩家. Socket udpSocket = new S ...

  8. MATLAB复制图片时边框大的问题

    当使用MATLAB画图时,需要将图片复制到word中,会发现图片有一个白色的边框,在论文的排版中是一个影响美观的问题 例如: >> x = 0:10; >> y = sin(x ...

  9. 基于神念TGAM的脑波小车(4)

    我使用的是HC05和BT06俩个蓝牙模块 1.[AT模式]HC05蓝牙模块的PIO11接VCC,上电后即进入HC05AT指令模式,对于BT06蓝牙直接上电进入AT模式,用USBT06转TTL模块连接到 ...

  10. nodejs加载模块心得,mongoose的继承,schematype的mixd介绍

    1. require("xxx")可以是原生模块, 也可以是根目录“/node_modules”下的某个模块 2. 多个模块的package.json使用同一个相同模块的时候,将改 ...