;

(function() { var h = {} , mt = {} , c = { id: "9ee4bb9d5bb1d41420031974fceab60f", dm: ["willless.com"], js: "tongji.baidu.com/hm-web/js/", etrk: [], icon: ”, ctrk: false, align: -1, nv: -1, vdur: 1800000, age: 31536000000, rec: 0, rp: [], trust: 0, vcard: 0, qiao: 0, lxb: 0, conv: 0, med: 0, cvcc: ”, cvcf: [], apps: ” }; var q = void 0 , r = !0 , t = null , u = !1; mt.cookie = {}; mt.cookie.set = function(a, b, d) { var f; d.H && (f = new Date, f.setTime(f.getTime() + d.H)); document.cookie = a + "=" + b + (d.domain ? &quo…

百度统计,源代码解读 12 小时前
;

//形如这种,应该叫做unix时间戳, 1363737600000 //形如这种,我们称之为ISO-8601格式的时间 2017-09-28T16:00:00Z 一般跨时区的应用,数据库中都是存储这两种格式化的时间,前端根据自己所在的时区展示对用的本地时间 把unix时间戳格式化为本地时间,推荐使用moment.js moment.unix(1318781876).format(‘YYYY-MM-DD’) 把一个ISO时间根据时区转换,推荐使用使用moment.js //demo var date = ‘2017-09-28T16:00:00Z’; var timezone = ‘Asia/Shanghai’; moment(date).tz(timezone).format(‘YYYY-MM-DD hh:mm:ss’); 如果是在微信小程序中使用,你需要先去moment官方下载moment-timezone-with-data.js这个文件到你的小程序应用中 const moment = require("./moment-timezone-with-data"); var date = ‘2017-09-28T16:00:00Z’; var timezone = ‘"Asia/Shanghai’; momen…

跨时区时间转换 13 天前
;

1.一维数组排序 timeList=[‘2017-10-05′,’2017-10-01′,’2017-10-03′,’2017-10-02′,’2017-10-09′]; timeList.sort(); console.log(timeList); 2.对象数组的排序 sort方法接收一个函数作为参数,这里嵌套一层函数用来接收对象属性名,其他部分代码与正常使用sort方法相同 var arr = [ {name:’zopp’,age:0}, {name:’gpp’,age:18}, {name:’yjj’,age:8} ]; function compare(property){ return function(a,b){ var value1 = a[property]; var value2 = b[property]; return value1 – value2; } } console.log(arr.sort(compare(‘age’))) 当对日期排序就需要处理一下 var arr = [ {name:’zopp’,age:’2017-11-5′}, {name:’gpp’,age:’2017-11-9′}, {name:’yjj’,age:’2017-11-1′} ]; function compare(property)…

js中sort方法根据数组中对象的某一个属性值进行排序 21 天前
;

toUTCString() toISOString() http://www.jianshu.com/p/415f8c276388 https://segmentfault.com/a/1190000003710954?mType=Group https://segmentfault.com/a/1190000007581722 http://www.w3school.com.cn/jsref/jsref_obj_date.asp

时间相关函数 2017年11月1日
;

array.map(callback, [thisArg]) map 方法会给原数组中的每个元素都按顺序调用一次 callback 函数。callback 每次执行后的返回值组合起来形成一个新数组。如果 thisArg 参数有值,则每次 callback 函数被调用的时候,this 都会指向 thisArg 参数上的这个对象。如果省略了 thisArg 参数,或者赋值为 null 或 undefined,则 this 指向全局对象 。 var numbers = [1, 4, 9]; var roots = numbers.map(Math.sqrt); /* roots的值为[1, 2, 3], numbers的值仍为[1, 4, 9]*/

map函数 2017年10月29日
;

JSON.parse() 方法用于将一个 JSON 字符串转换为对象。 语法:JSON.parse(text[, reviver]) 参数说明: text:必需, 一个有效的 JSON 字符串。 reviver: 可选,一个转换结果的函数, 将为对象的每个成员调用此函数。 返回值: 返回给定 JSON 字符串转换后的对象。 JSON.stringify() 方法用于将 JavaScript 值转换为 JSON 字符串。 语法:JSON.stringify(value[, replacer[, space]]) 参数说明: value: 必需, 一个有效的 JSON 字符串。 replacer: 可选。用于转换结果的函数或数组。 如果 replacer 为函数,则 JSON.stringify 将调用该函数,并传入每个成员的键和值。使用返回值而不是原始值。如果此函数返回 undefined,则排除成员。根对象的键是一个空字符串:””。 如果 replacer 是一个数组,则仅转换该数组中具有键值的成员。成员的转换顺序与键在数组中的顺序一样。当 value 参数也为数组时,将忽略 replacer 数组。 space: 可选,文本添加缩进、空格和换行符,如果 space 是一个数字,则返回值文本在每个级别缩进指定数目的空格…

JSON.parse与JSON.stringify 2017年10月27日
;

// Converts canvas to an image function convertCanvasToImage(canvas) { var image = new Image(); image.src = canvas.toDataURL("image/png"); return image; } // Converts image to canvas; returns new canvas element function convertImageToCanvas(image) { var canvas = document.createElement("canvas"); canvas.width = image.width; canvas.height = image.height; canvas.getContext("2d").drawImage(image, 0, 0); return canvas; }

canvas与image互相转换 2017年10月20日
;

步骤一: 地址栏输入,chrome://version,“个人资料路径”即为本地路径 步骤二: 复制地址在文件夹内打开,进入到“Extensions”目录 如何知道插件对应的目录 步骤三: 地址栏输入,chrome://extensions/ 此处ID即为对应的目录名

如何查看chrome插件源文件 2017年7月16日
;

1.对象属性遍历 var pricelist={1: "35", 2: "70", 3: "105", 4: "140", 5: "175", 6: "210", 7: "245", 8: "280", 9: "315", 10: "350"}; for (var key in pricelist) { console.log(key+"="+pricelist[key]) } for (attr in window) { console.log(attr); } //枚举window对象的所有属性 2.数组遍历 方式一: var pricelist = [35,70,105,140,175,210,245,280,315,350]; for (var key in pricelist) { console.log(pricelist[key]) } 方式二: var pricelist = [35,70,105,140,175,210,245,280,315,350]; for (var i=0;i<pricelist…

对象及数组属性遍历 2017年5月8日
;

基本结构 <link href="video-js.css" rel="stylesheet" type="text/css"/> <script src="videojs-ie8.min.js"></script> <script src="video.js"></script> <video id="my-video" class="video-js vjs-default-skin my_video_1-dimensions vjs-fluid vjs-controls-enabled vjs-workinghover vjs-has-started vjs-paused vjs-user-inactive vjs-big-play-centered" controls preload="auto" data-setup="{}"> <source src="url.mp4" type=’video/mp4′> </video> 切换源地址 va…

videojs视频地址切换 2017年5月6日
;

代码: .imgview_inner{height: 500px; display: -webkit-box; display: -webkit-flex; display: flex; -webkit-box-align: center; -webkit-align-items: center; align-items: center; -webkit-box-pack: center; -webkit-justify-content: center; justify-content: center; } <div class="imgview_inner"><img src="http://gameweb-img.qq.com/gad/20170317/phphgAjtN.1489739479.jpg"></div>

flex实现图片垂直居中 2017年4月25日
;

格式: console.log("%c要显示的字符串","css样式"); 示例代码 console.clear(); console.log("%c ", "border-top: 4px dotted #dadada; font-size: 42px;"); console.log("%chttp://willless.com", "font-size: 42px; color: #fff; text-shadow: 0 1px 0 #eaeaea, 0 2px 0 #dadada, 0 3px 0 #bababa, 0 4px 0 #b0b0b0, 0 5px 0 #a0a0a0, 0 6px 1px rgba(0,0,0,.1), 0 0 5px rgba(0,0,0,.1), 0 1px 3px rgba(0,0,0,.3), 0 3px 5px rgba(0,0,0,.2), 0 5px 10px rgba(0,0,0,.25), 0 10px 10px rgba(0,0,0,.2), 0 20px 20px rgba(0,0,0,.15);"); console.log("%c ", &qu…

对console.log的信息添加样式 2017年4月24日
;

前提: 1.当元素设置box-sizing:border-box; 2.同时设置了上下padding 问题: height等于line-height 就无法实现垂直居中 修正: line-height=height-padding*2

box-sizing 影响垂直居中 2017年4月14日
;

slice() 把匹配元素集合缩减为指定的指数范围的子集。 <ul> <li>list item 1</li> <li>list item 2</li> <li>list item 3</li> <li>list item 4</li> <li>list item 5</li> </ul> $(‘li’).slice(2).css(‘background-color’, ‘red’);选中的是后面三个li元素。

jquery slice用法 2017年3月29日
;
JSON.parse()和JSON.stringify()及toString 2017年3月21日
;

问题描述: 1,通过微信朋友圈链接点击进入网站,导航按钮点击失效。 2,跳转到其它页面再点击导航按钮功能却正常。 3,浏览器及微信web开发者工具内问题无法重现,一切功能正常。 4,css各种修改,位置调整及元素标签修改,问题依旧。 5,类似结构其它网站无此bug。 权宜之计: 通过把相关的js写到头部页面内,问题消失。 相关: 其它项目中也遇到在微信打开后一些奇怪的边框,通过调整z-index解决

微信朋友圈链接,导航按钮点击失效 2017年3月17日
;

html <a class="label label-success" onclick="fastform({$row[‘id’]},$(this))">提交</a> 函数内 function fastform(id,$this) { //对象已经传递进来 } How to use $(this) in functions?

function内传递$(this) 2017年3月6日
;

菜单弹出时addClass(‘understatic’). body.understatic { overflow: hidden; } 菜单消失时候removeClass(‘understatic’).

解决–弹出层滚动带动下层整个内容页滚动 2017年2月27日
;

方法一: $("div.test").css("cssText", "width:650px !important;"); 方法二: $(‘#elem’).attr(‘style’, ‘width: 100px !important’); 方法三: 新建类,通过addClass覆盖

jquery,css,包含important 2017年2月27日
;

无效代码: $(‘h1’).click(function(){ $(‘a’).trigger(‘click’); }); 方法一:需要定位到a标签内的元素 $(‘h1’).click(function(){ $(‘a span’).trigger(‘click’); }); 方法二:jquery转化为js对象 $(‘h2’).click(function(){ $(‘a’)[0].click(); });

trigger触发a跳转 2017年2月27日
;

function format (num) { return (num.toFixed(2) + ”).replace(/\d{1,3}(?=(\d{3})+(\.\d*)?$)/g, ‘$&,’); } var num = 12345; alert(format(num));

js整数转货币 2017年2月27日
;

方式一,setTimeout: $(document).ready(function() { function showpanel() { $(".navigation").hide(); $(".page").children(".panel").fadeIn(1000); } setTimeout(showpanel, 1000) }); 方式二,queue: function showImage(){ $("img").fadeIn(500); } $(document).ready(function(){ $(".show-image").click(function(){ $(this).text(‘loading…’).delay(1000).queue(function() { $(this).hide(); showImage(); //calling showimage() function $(this).dequeue(); }); }); });

Run Function After Delay 2017年2月27日
;

在手持设备的浏览器上(本处主要指代iOS和Android系统上的webkit内核的浏览器和嵌入在应用程序里面的webview),由于两次连续“轻触”是“放大”的操作(即使你两次轻触的是一个链接或一个有click事件监听器的元素),所以在第一次被“轻触”后,浏览器需要先等一段时间,看看有没有所谓的“连续的第二次轻触”。如果有,则进行“放大”操作。没有,才敢放心地认为用户不是要放大,而是需要“click”至此才敢触发click事件,导致“短按(手指接触屏幕到离开屏幕的时间比较短)”的click事件通常约会延迟300ms左右。 采用touchstart代替click是比较初级的解决方案,首先,touchstart和click的触发条件就有区别,对于手持设备的浏览器: 1.touchstart:在这个dom(或冒泡到这个dom,这当然是废话)上手指触摸开始即能触发 2.click:在这个dom(或冒泡到这个dom,这当然是废话)上手指触摸开始,且手指未曾在屏幕上移动(某些浏览器允许移动一个非常小的位移值),且在这个在这个dom上手指离开屏幕,且触摸和离开屏幕之间的间隔时间较短(某些浏览器不检测间隔时间,也会触发click)才能触发 于是我们可以看到,完全用touchstart代替是不太可取的。 根据上面的区别,又要规避click在移动手持设备上带来的…

移动设备touchstart与click比较 2016年7月27日
;

这里的$0表示你最近选择过的dom元素,对应的如$1,$2,$3。 Chrome会分配一个索引数字给每一个你曾经选择过的dom节点元素,

chrome 元素后的 “==$0″是什么 2016年7月12日