个人日常中遇到的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. target属性用于返回最初触发事件的DOM元素。

    target属性用于返回最初触发事件的DOM元素. 在HTML文档中,我们为<p>元素绑定点击事件("click"),由于DOM元素的事件冒泡机制,我们点击<p& ...

  2. 微信小程序中的 hover-class

    微信小程序中,可以用 hover-class 属性来指定元素的点击态效果.但是在在使用中要注意,大部分组件是不支持该属性的. 目前支持 hover-class 属性的组件有三个:view.button ...

  3. 矩阵分解-----LDL分解

    若一个矩阵A是正定的,那么该矩阵也可以唯一分解为\[{\bf{A = LD}}{{\bf{L}}^{\bf{T}}}\] 其中L是对角元素都为1的下三角矩阵,D是对角元素都为正数的对角矩阵.还是以三维 ...

  4. Python学习之路:一天搞定基础部分

    ~代表省略的内容,如变量名.字符串等等 1.Pyhton中比较特别的运算: **:代表指数运算,例如2**3 = 8 //:代表整除运算,这一点和Java不同 2.Python的注释: #:单行注释 ...

  5. canvas高效绘制10万图形,你必须知道的高效绘制技巧

    最近的一个客户项目中,简化的需求是绘制按照行列绘制很多个圆圈.需求看起来不难,上手就可以做,写两个for循环. 原始绘制方法 首先定义了很多Circle对象,在遍历循环中调用该对象的draw方法.代码 ...

  6. 学习python,第五篇

    Python中%r和%s的详解及区别 %r用rper()方法处理对象%s用str()方法处理对象 有些情况下,两者处理的结果是一样的,比如说处理int型对象. 例一: print "I am ...

  7. oracle 语句之对数据库的表名就行模糊查询,对查询结果进行遍历,依次获取每个表名结果中的每个字段(存储过程)

    语句的执行环境是plsql的sql窗口, 语句的目的是从整个数据库中的所有表判断 不等于某个字段的记录数 . 代码如下: declare s_sql clob:=''; -- 声明一个变量,该变量用于 ...

  8. Calculator项目的过程及感受

    1.将Calculator项目传到Github上的链接地址:https://github.com/sonnypp/object-oriented/tree/master/Calculator 2.本次 ...

  9. HDU 1015 Jury Compromise 01背包

    题目链接: http://poj.org/problem?id=1015 Jury Compromise Time Limit: 1000MSMemory Limit: 65536K 问题描述 In ...

  10. Anaconda 下libsvm的安装

    方法一. 利用VS生成动态库的安装    详细可参考这篇博文进行操作:https://blog.csdn.net/jeryjeryjery/article/details/72628255 方法二. ...