Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

View hacke2's full-sized avatar
🐜
ant has power

hacke2 hacke2

🐜
ant has power
View GitHub Profile
@hacke2
hacke2 / promise-sequence.js
Created September 10, 2015 09:49
promise sequence exec tasks
function sequenceTasks(tasks) {
function recordValue(results, value) {
results.push(value);
return results;
}
var pushValue = recordValue.bind(null, []);
return tasks.reduce(function (promise, task) {
return promise.then(task).then(pushValue);
}, Promise.resolve());
}
function get(uri) {
return http(uri,'GET');
}
function post(uri,data) {
if(typeof data === 'object' && !(data instanceof String || (FormData && data instanceof FormData))) {
var params = [];
for(var p in data) {
if(data[p] instanceof Array) {
for(var i = 0; i < data[p].length; i++) {
params.push( encodeURIComponenet(p) + '[]=' + encodeURIComponenet(data[p][i]);
@hacke2
hacke2 / AOP.JS
Created November 7, 2014 03:23
js面向切面
Function.prototype.before = function(func) {
var that = this;
return function() {
//debugger
if(func.apply(this, arguments) === false) {
return false;
}
return that.apply(this, arguments);
}
}
@hacke2
hacke2 / size.js
Created October 15, 2014 01:24
位置与大小
var s;
s += " 屏幕分辨率的高:"+ window.screen.height+"\n";
s += " 屏幕分辨率的宽:"+ window.screen.width+"\n";
万能的js是这样干的 s += " 网页可见区域宽:"+ document.body.clientWidth+"\n";
s += " 网页可见区域高:"+ document.body.clientHeight+"\n";
s += " 网页可见区域宽:"+ document.body.offsetWidth + " (包括边线和滚动条的宽)"+"\n";
s += " 网页可见区域高:"+ document.body.offsetHeight + " (包括边线的宽)"+"\n";
s += " 网页正文全文宽:"+ document.body.scrollWidth+"\n";
s += " 网页正文全文高:"+ document.body.scrollHeight+"\n";
s += " 网页被卷去的高(ff):"+ document.body.scrollTop+"\n";
@hacke2
hacke2 / ajaxScriptCharset.js
Created October 8, 2014 15:04
ajax设置编码
$.ajaxSetup({ scriptCharset: "gbk" , contentType: "application/json; charset=gbk"});
@hacke2
hacke2 / clone.js
Created October 6, 2014 03:21
克隆
//浅克隆
/*Object.prototype.clone = function (){
var obj = {};
for(var key in this) {
if(this.hasOwnProperty(key)) {
obj[key] = this[key];
}
}
@hacke2
hacke2 / center.html
Created September 26, 2014 04:43
IE8下DIV居中
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
.outer {
display: table;
width: 500px;
height: 300px;
@hacke2
hacke2 / mouseScroll.js
Created September 26, 2014 04:38
鼠标滚动事件
/** Event handler for mouse wheel event.
*鼠标滚动事件
*/
var wheel = function(event) {
var delta = 0;
if (!event) /* For IE. */
event = window.event;
if (event.wheelDelta) { /* IE/Opera. */
delta = event.wheelDelta / 120;
} else if (event.detail) {
@hacke2
hacke2 / center.css
Last active August 29, 2015 14:06
IE8以上css居中
.Center-Container {
position: relative;
}
.Absolute-Center {
width: 50%;
height: 50%;
overflow: auto;
margin: auto;
position: absolute;
@hacke2
hacke2 / DateUtil.js
Created September 6, 2014 09:16
时间格式化
Date.prototype.Format = function (fmt) { //author: meizz
var o = {
"M+": this.getMonth() + 1, //月份
"d+": this.getDate(), //日
"h+": this.getHours(), //小时
"m+": this.getMinutes(), //分
"s+": this.getSeconds(), //秒
"q+": Math.floor((this.getMonth() + 3) / 3), //季度
"S": this.getMilliseconds() //毫秒
};