var commonindex = function() {};

commonindex.prototype = {
ajaxRequest: function(request) {
$.ajax({
type: 'POST',
url: request.url,
data: request.data,
// dataType: 'json',
// contentType: "application/json",
success: function(data) {
//console.log(data);
request.handler_success(data);
},
error: function(xhr, type) {
request.handler_ex(xhr);
}
});
},
toast: function(msg) {
var str = "<div class='toast' style='display:none'>" + msg + "</div>";
$('body').append(str);
$('.toast').stop().fadeIn(100).delay(1000).fadeOut(400); //fade out after 3 seconds
setTimeout(function() {
$('.toast').remove();
}, 3000);
},
reset: function(ok, cannel) {
$("#toggleCSS").attr("href", "../../style/alertify.default.css");
alertify.set({
labels: {
ok: ok,
cancel: cannel
},
delay: 5000,
buttonReverse: false,
buttonFocus: "ok"
});
},
getChannelDomain: function(type) {
switch (type) {
case 'meizu':
return config.caiqr_domain;
break;
case 'caiqiu':
return config.caiqr_domain_mobile;
break;
}
},
getReferrer: function() {
var referrer = '';
try {
referrer = window.top.document.referrer;
} catch (e) {
if (window.parent) {
try {
referrer = window.parent.document.referrer;
} catch (e2) {
referrer = '';
}
}
}
if (referrer === '') {
referrer = document.referrer;
}
return referrer;
},
// 数组内排序
systemSort: function(arr) {
return arr.sort(function(a, b) {
return a - b;
});
},
// 从指定数组中随机n个数字
getArrayItems: function(arr, num) {
//新建一个数组,将传入的数组复制过来,用于运算,而不要直接操作传入的数组;
var temp_array = new Array();
arr.forEach(function(item) {
temp_array.push(item);
});
//取出的数值项,保存在此数组
var return_array = new Array();
for (var i = 0; i < num; i++) {
//判断如果数组还有可以取出的元素,以防下标越界
if (temp_array.length > 0) {
//在数组中产生一个随机索引
var arrIndex = Math.floor(Math.random() * temp_array.length);
//将此随机索引的对应的数组元素值复制出来
return_array[i] = temp_array[arrIndex];
//然后删掉此索引的数组元素,这时候temp_array变为新的数组
temp_array.splice(arrIndex, 1);
} else {
//数组中数据项取完后,退出循环,比如数组本来只有10项,但要求取出20项.
break;
}
}
return return_array;
},
// ajax get json
getJsonRequest: function(request) {
$.getJSON(request.url, function(responsedata, status, xhr) {
console.log('status======', status);
if (status == 'success') {
request.handler_success(responsedata);
} else {
request.handler_ex(xhr);
}
});
},
// 生成随机数函数
randomFn: function(max, min) {
return parseInt(Math.random() * (max - min + 1) + min, 10);
},
// 从max -min 中挑选n个不重复的数字
randomNrepatFn: function(n, min, max) {
var arr = [];
for (i = 0; i < n; i++) {
arr[i] = parseInt(Math.random() * (max - min + 1) + min);
for (j = 0; j < i; j++) {
if (arr[i] == arr[j]) {
i = i - 1;
break;
}
}
}
return arr;
},
//倒计时插件,doc元素节点,time:倒计时时间秒数,fun:回调函数,计时完成后回调该函数
getCountdown: function(doc, time, fun) {
if (doc) {
var minnew = Math.floor(time / 60);
var secnew = Math.floor(time % 60);
var hournew = 0;
if (time > 60) {
minnew = parseInt(time / 60);
if (minnew > 60) {
hournew = parseInt(min / 60);
minnew = parseInt(min % 60);
} else {
hournew = 0;
}
}
// 单位数加0
if (hournew < 10) {
hournew = '0' + hournew;
}
if (secnew < 10) {
secnew = '0' + secnew;
}
if (minnew < 10) {
minnew = '0' + minnew;
}
// 展示问题
if (hournew > 0 && minnew > 0) {
doc.innerText = hournew + ":" + minnew + ":" + secnew;
} else if (hournew == 0 && minnew > 0) {
doc.innerText = minnew + ":" + secnew;
} else if (hournew == 0 && minnew == 0) {
doc.innerText = '00:' + secnew;
}
}
var timer = setInterval(function() {
var min = Math.floor(time / 60);
var sec = Math.floor(time % 60);
var hour = 0;
if (time > 60) {
min = parseInt(time / 60);
if (min > 60) {
hour = parseInt(min / 60);
min = parseInt(min % 60);
} else {
hour = 0;
}
}
time--;
// 单位数加0
if (hour < 10) {
hour = '0' + hour;
}
if (sec < 10) {
sec = '0' + sec;
}
if (min < 10) {
min = '0' + min;
}
// 展示问题
if (hour > 0 && min > 0) {
doc.innerText = hour + ":" + min + ":" + sec;
} else if (hour == 0 && min > 0) {
doc.innerText = min + ":" + sec;
} else if (hour == 0 && min == 0) {
doc.innerText = '00:' + sec;
}
// 执行回调函数
if (time <= 0) {
fun();
clearInterval(timer);
return;
}
}, 1000);
},
// 大数组内进行排列组合
comarray: function(arr) {
var sarr = [
[]
];
for (var i = 0; i < arr.length; i++) {
var tarr = [];
for (var j = 0; j < sarr.length; j++)
for (var k = 0; k < arr[i].length; k++) {
tarr.push(sarr[j].concat(arr[i][k]));
}
sarr = tarr;
}
return sarr;
},
//大写转化为小写
toLowerCase: function(comeStr) {
return comeStr.toLowerCase()
}
}; //数组的组合
Array.prototype.combinate = function(iItems, aIn) {
if (!aIn) {
var aIn = new Array();
this.combinate.aResult = new Array();
}
for (var i = 0; i < this.length; i++) {
var a = aIn.concat(this[i]);
var aRest = this.concat();
aRest.splice(0, i + 1);
if (iItems && iItems - 1 <= aRest.length) {
aRest.combinate(iItems - 1, a);
if (iItems == 1) this.combinate.aResult.push(a);
}
}
return this.combinate.aResult;
}; Array.prototype.add = function(number) {
return this.map(function(item) {
return item + number;
});
}; //根据域名修改渠道id
var commonObject = new commonindex();
commonindex.prototype.ajaxRequest = function(request) {
if (window.location.href.indexOf(commonObject.getChannelDomain('meizu')) > -1) {
request.data.channel = "meizuh5";
request.data.client_type = '4';
}
if (window.location.href.indexOf(commonObject.getChannelDomain('caiqiu')) > -1) {
request.data.channel = "lingshengcaijiandashi01";
}
$.ajax({
type: 'POST',
url: request.url,
data: request.data,
// dataType: 'json',
// contentType: "application/json",
success: function(data) {
//console.log(data);
request.handler_success(data);
},
error: function(xhr, type) {
request.handler_ex(xhr);
}
});
};

common常用方法和部分算法的更多相关文章

  1. POJ 1330 Nearest Common Ancestors (LCA,倍增算法,在线算法)

    /* *********************************************** Author :kuangbin Created Time :2013-9-5 9:45:17 F ...

  2. B - Common Divisors (codeforces)数论算法基本定理,唯一分解定理模板

    You are given an array aa consisting of nn integers. Your task is to say the number of such positive ...

  3. poj1330Nearest Common Ancestors 1470 Closest Common Ancestors(LCA算法)

    LCA思想:http://www.cnblogs.com/hujunzheng/p/3945885.html 在求解最近公共祖先为问题上,用到的是Tarjan的思想,从根结点开始形成一棵深搜树,非常好 ...

  4. 动态规划 算法(DP)

    多阶段决策过程(multistep decision process)是指这样一类特殊的活动过程,过程可以按时间顺序分解成若干个相互联系的阶段,在每一个阶段都需要做出决策,全部过程的决策是一个决策序列 ...

  5. 【图像配准】基于灰度的模板匹配算法(一):MAD、SAD、SSD、MSD、NCC、SSDA、SATD算法

    简介: 本文主要介绍几种基于灰度的图像匹配算法:平均绝对差算法(MAD).绝对误差和算法(SAD).误差平方和算法(SSD).平均误差平方和算法(MSD).归一化积相关算法(NCC).序贯相似性检测算 ...

  6. 【算法导论】最小生成树之Kruskal法

    在图论中,树是指无回路存在的连通图.一个连通图的生成树是指包含了所有顶点的树.如果把生成树的边的权值总和作为生成树的权,那么权值最小的生成树就称为最小生成树.因为最小生成树在实际中有很多应用,所以我们 ...

  7. 排序算法Java代码实现(一)—— 选择排序

    以下几篇随笔都是记录的我实现八大排序的代码,主要是贴出代码吧,讲解什么的都没有,主要是为了方便我自己复习,哈哈,如果看不明白,也不要说我坑哦! 本片分为两部分代码: 常用方法封装 排序算法里需要频繁使 ...

  8. 剖析ironic

    关键技术 在安装操作系统时需要存储介质来存储系统镜像.需要控制物理机开关机,在网络部署环境中还需要预启动环境. PXE (预启动环境) IPMI(电源管理) iSCSI(存储) 什么是PXE PXE( ...

  9. coursera机器学习-聚类,降维,主成分分析

    #对coursera上Andrew Ng老师开的机器学习课程的笔记和心得: #注:此笔记是我自己认为本节课里比较重要.难理解或容易忘记的内容并做了些补充,并非是课堂详细笔记和要点: #标记为<补 ...

随机推荐

  1. 2013.11.7-21:15_My first Java program

  2. oracle管道输出

    通常我们会在oracle中用dbms_output输出调试信息,但dbms_output只能在调用过程完成才返回结果,不能实时输出的.这意味着通常我们经常要等几分钟或更长的时间才能看到调试信息,那怎么 ...

  3. SKAction类

    继承自 NSObject 符合 NSCodingNSCopyingNSObject(NSObject) 框架  /System/Library/Frameworks/SpriteKit.framewo ...

  4. 【LeetCode】Symmetric Tree 推断一棵树是否是镜像的

    题目:Symmetric Tree <span style="font-size:18px;"><span style="font-size:18px; ...

  5. Android消息机制(1)

    在Android中,线程内部或者线程之间进行信息交互时经常会使用消息,这些基础的东西如果我们熟悉其内部的原理,将会使我们容易.更好地架构系统,避免一些低级的错误.在学习Android中消息机制之前,我 ...

  6. 编译lua版本问题

    Compile++ thumb  : game_shared <= main.cppjni/hellocpp/main.cpp: In function 'void Java_org_cocos ...

  7. Swift中面向协议的编程

    什么是面向协议的编程? 面向协议的编程,是一种编程范式. 编程范式,是一个计算机科学用语.维基百科中的解释是,计算机编程的基本风格或典型模式.通俗来说,就是解决某一个问题的方法不同方法和思路. 像大家 ...

  8. react.js 你应知道的9件事

    React.js 初学者应该知道的 9 件事   本文假定你已经有了一下基本的概念.如果你不熟悉 component.props 或者 state 这些名词,你最好先去阅读下官方起步和手册.下面的代码 ...

  9. python面对对象编程----1:BlackJack(21点)

    昨天读完了<Mastering Object-oriented Python>的第一部分,做一些总结. 首先,第一部分总过八章,名字叫Pythonic Classes via Specia ...

  10. parent.location.href和location.href区别

    parent.location.href='ind.php'parent用于框架结构,需要全网页转向如果你的网页是左右框架,那么,直接把当前页面全部转到ind.php中 location.href=' ...