//对于Web地址参数
//前面加“==”进行标识,否则直接返回
//解码时依据是否含有“==”标识来决定是否要解码
var base64EncodeChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
var base64Encode = new Array(
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 62, -1, -1, -1, 63,
52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -1, -1, -1, -1, -1, -1,
-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -1, -1, -1, -1, -1,
-1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1); function Base64Encode(str) {
var reg=/^[a-zA-Z0-9]*$/;
if(str==null || reg.test(str))
{
return str;
}
str=Utf16To8(str);
var out, i, len;
var c1, c2, c3; len = str.length;
i = 0;
out = "";
while(i < len) {
c1 = str.charCodeAt(i++) & 0xff;
if(i == len)
{
out += base64EncodeChars.charAt(c1 >> 2);
out += base64EncodeChars.charAt((c1 & 0x3) << 4);
out += "==";
break;
}
c2 = str.charCodeAt(i++);
if(i == len)
{
out += base64EncodeChars.charAt(c1 >> 2);
out += base64EncodeChars.charAt(((c1 & 0x3)<< 4) | ((c2 & 0xf0) >> 4));
out += base64EncodeChars.charAt((c2 & 0xf) << 2);
out += "=";
break;
}
c3 = str.charCodeAt(i++);
out += base64EncodeChars.charAt(c1 >> 2);
out += base64EncodeChars.charAt(((c1 & 0x3)<< 4) | ((c2 & 0xf0) >> 4));
out += base64EncodeChars.charAt(((c2 & 0xf) << 2) | ((c3 & 0xc0) >>6));
out += base64EncodeChars.charAt(c3 & 0x3f);
} out=out.replace(/\//g,"@@")
return "==" + out;
}
function Utf16To8(str) {
var out, i, len, c; out = "";
len = str.length;
for (i = 0; i < len; i++) {
c = str.charCodeAt(i);
if ((c >= 0x0001) && (c <= 0x007f)) {
out += str.charAt(i);
} else if (c > 0x07ff) {
out += String.fromCharCode(0xe0 | ((c >> 12) & 0x0f));
out += String.fromCharCode(0x80 | ((c >> 6) & 0x3f));
out += String.fromCharCode(0x80 | ((c >> 0) & 0x3f));
} else {
out += String.fromCharCode(0xc0 | ((c >> 6) & 0x1f));
out += String.fromCharCode(0x80 | ((c >> 0) & 0x3f));
}
}
return out;
} function Utf8To16(str) {
var out, i, len, c;
var char2, char3; out = "";
len = str.length;
i = 0;
while (i < len) {
c = str.charCodeAt(i++);
switch (c >> 4) {
case 0: case 1: case 2: case 3: case 4: case 5: case 6: case 7:
// 0xxxxxxx
out += str.charAt(i - 1);
break;
case 12: case 13:
// 110x xxxx 10xx xxxx
char2 = str.charCodeAt(i++);
out += String.fromCharCode(((c & 0x1f) << 6) | (char2 & 0x3f));
break;
case 14:
// 1110 xxxx 10xx xxxx 10xx xxxx
char2 = str.charCodeAt(i++);
char3 = str.charCodeAt(i++);
out += String.fromCharCode(((c & 0x0f) << 12) |
((char2 & 0x3f) << 6) |
((char3 & 0x3f) << 0));
break;
}
} return out;
}
//base64编码结束 function ValidateEmail(str) {
var r = /^[a-zA-Z0-9._%-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
if (r.test(str)) {
return true;
} else {
return false;
}
} function ValidateTelPhone(str) {
var s = /^(\d{2,4})(-(\d{7,8}))$/;
if (s.test(str)) {
return true;
} else {
return false;
}
} function ValidatePhone(str) {
var regu = /^[1][3,5,8][0-9]{9}$/;
var re = new RegExp(regu);
if (re.test(str)) {
return true;
}
else {
return false;
}
} /*设置与获取Cookie*/
var Cookie = {}
Cookie.write = function (key, value, duration) {
var d = new Date();
d.setTime(d.getTime() + 1000 * 60 * 60 * 24 * 30);
document.cookie = key + "=" + encodeURI(value) + "; expires=" + d.toGMTString();
};
Cookie.read = function (key) {
var arr = document.cookie.match(new RegExp("(^| )" + key + "=([^;]*)(;|$)"));
if (arr != null)
return decodeURIComponent(arr[2]);
return "";
}; //input去掉默认内容还原编辑样式
function g_on_setvalue(id, value, cname) {
var obj = document.getElementById(id);
if (obj.value != value) {
return false;
}
obj.value = "";
obj.className = cname;
} //将日期转换成"yyyy-mm-dd"格式 第二个參数为返回类型传入'ym':yyyy-mm,'md':mm-dd,默觉得'yyyy-mm-dd'
function ConvertDateFormat(strDate, sye) {
if (strDate == null || strDate == "" || strDate == "0") {
return ("");
}
else {
try {
var ExDate = new Date(strDate.replace(/-/g, "/"));
var yyyy = ExDate.getFullYear();
var mm = ExDate.getMonth() + 1; mm = mm < 10 ? "0" + mm : mm;
var dd = ExDate.getDate(); dd = dd < 10 ? "0" + dd : dd;
switch (sye) {
case "ym":
return yyyy + "-" + mm;
break;
case "md":
return mm + "-" + dd;
break;
default:
return yyyy + "-" + mm + "-" + dd;
break;
}
}
catch (e) {
return ("")
}
}
}
//将日期转换成"yyyymmdd"格式 第二个參数为返回类型传入'ym':yyyy-mm,'md':mm-dd,默觉得'yyyy-mm-dd'
function ConvertDateFormatString(strDate, sye) {
if (strDate == null || strDate == "" || strDate == "0" || strDate.length < 8) {
return ("");
}
else {
try {
var ExDate = new Date(strDate.replace(/^(\d{4})(\d{2})(\d{2})$/, "$1/$2/$3"));
var yyyy = ExDate.getFullYear();
var mm = ExDate.getMonth() + 1; mm = mm < 10 ? "0" + mm : mm;
var dd = ExDate.getDate(); dd = dd < 10 ? "0" + dd : dd;
switch (sye) {
case "ym":
return yyyy + "-" + mm;
break;
case "md":
return mm + "-" + dd;
break;
default:
return yyyy + "-" + mm + "-" + dd;
break;
}
}
catch (e) {
return ("")
}
}
}
//获取URL中的request參数
function getUrlParam(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);
if (r != null)
{ return decodeURIComponent(r[2]); }
else
{ return ""; } }
function aUrl(url) {
window.location.href = url;
}
function rForm(formid) {
document.getElementById(formid).reset();
}
//全选
function checkAll(id, checkname) {
var obj = document.getElementById(id);
if (obj.checked) {
$("input[name='" + checkname + "']").attr('checked', true)
} else {
$("input[name='" + checkname + "']").attr('checked', false)
}
}
//取checkbox 返回数组
function checkvalue(name) {
var obj = document.getElementsByName(name);
var aList = [];
var j = 0;
for (var i = 1; i < obj.length; i++) {
if (obj[i].checked) {
j = j + 1;
aList[j - 1] = obj[i].value;
}
}
if (aList.length == 0) {
alert("至少选择一条记录");
return false;
}
else {
return aList;
}
} //html编码
function HTMLEncode(input) {
var converter = document.createElement("DIV");
converter.innerText = input;
var output = converter.innerHTML;
converter = null;
return output;
}
//html编码解码
function HTMLDecode(input) {
var converter = document.createElement("DIV");
converter.innerHTML = input;
var output = converter.innerText;
converter = null;
return output;
} //tab标签层切换
function setTabDiv(curnum, checkstatus) {
if (checkstatus) {
$("#tabtooldiv a").removeClass("curtabbar");
$("#tabelement" + curnum).addClass("curtabbar");
$("div[name='tabconent']").css("display", "none");
$("#tabconent" + curnum).css("display", "block");
}
}
//验证金额
function checkPrice(thisobject) {
if ($(thisobject).val().toString() == "") {return;}
if ((/^\-? (([1-9]\d*)|\d)(\.\d{1,4})?$/).test($(thisobject).val().toString())) { }
else {
alert("输入金额格式错误请又一次输入! ");
$(thisobject).val("");
}
}
//限制文本输入长度
function isMaxLen(o) {
var nMaxLen = o.getAttribute ? parseInt(o.getAttribute("maxlength")) : "";
if (o.getAttribute && o.value.length > nMaxLen) {
o.value = o.value.substring(0, nMaxLen)
}
}
//验证整数
function intcheck(thisobject) {
if ($(thisobject).val().toString() == "") { return; }
if ($(thisobject).val().toString() == "0") { return; }
var number = $(thisobject).val();
var type = "^[0-9]*[1-9][0-9]*$";
var re = new RegExp(type);
if (number.match(re) == null) {
alert("请输入大于零的整数!");
$(thisobject).val("");
return;
} }
//比較时间
function comTime(begintime, endtime) {
var arr = begintime.split("-");
var starttime = new Date(arr[0], arr[1], arr[2]);
var starttimes = starttime.getTime(); var arrs = endtime.split("-");
var lktime = new Date(arrs[0], arrs[1], arrs[2]);
var lktimes = lktime.getTime(); if (starttimes >= lktimes) {
return false;
}
else
return true;
}
//open window
function showMyModalDialog(url, width, height,Title) {
var now = new Date();
var urlr
if (url.indexOf('=') == -1) {
urlr = url + "? cach=" + escape(now);
}
else {
urlr = url + "&cach=" + escape(now);
}
if (Title !=null)
{
JqueryDialog.Open(Title, urlr, width, height);
}
else
{
JqueryDialog.Open('', urlr, width, height);
} } //open mini window
function openwindow(url, height, width) {
var t = (window.screen.availHeight - 400) / 2;
var l = (window.screen.availWidth - 600) / 2;
window.open(url, "Query", "height=" + height + ", width=" + width + ", top=" + t + ",left=" + l + ",toolbar=no, menubar=no, scrollbars=yes, resizable=no");
} //confirm
function Confirm(msg, control) {
$.messager.confirm('确认', msg, function (r) {
if (r) {
eval(control.toString().slice(11));
}
});
return false;
} //gridview
function gridview(objgridview) {
//get obj id
var gridviewId = "#" + objgridview;
//even
$(gridviewId + ">tbody tr:even").addClass("NormalColor");
//first
$(gridviewId + ">tbody tr:first").removeClass("NormalColor").addClass("HeadColor");
//odd
$(gridviewId + ">tbody tr:odd").addClass("AlterColor");
//move and click edit by hb 20130206
$(gridviewId + ">tbody tr").hover(function () {
$(this).addClass("HoverColor");
}, function () {
$(this).removeClass("HoverColor");
}).click(function () {
var $check = $(this).find("input:checkbox");
if ($check.attr("checked")) {
$(this).addClass("SelectColor");
}
else {
$(this).removeClass("SelectColor");
}
});
//all check
$("#chkAll").click(function () {
$(gridviewId + '>tbody >tr >td >input:checkbox:visible').attr('checked', this.checked);
});
//check status
$(gridviewId + ' >tbody >tr >td >input:checkbox').click(function () {
var expr1 = gridviewId + ' >tbody >tr >td >input:checkbox:checked';
var expr2 = gridviewId + ' >tbody >tr >td >input:checkbox';
var selectAll = $(expr1).length == $(expr2).length;
$('#chkAll').attr('checked', selectAll);
});
} //load
function Load() {
$("<div class=\"datagrid-mask\"></div>").css({ display: "block", width: "100%", height: $(window).height() }).appendTo("body");
$("<div class=\"datagrid-mask-msg\"></div>").html("正在执行。请稍候。 。。").appendTo("body").css({ display: "block", left: ($(document.body).outerWidth(true) - 190) / 2, top: ($(window).height() - 45) / 2 });
} //display Load
function dispalyLoad() {
$(".datagrid-mask").remove();
$(".datagrid-mask-msg").remove();
} function checkroleinfo(checkresult, checkaction) {
if (checkresult == "1") { }
else {
$("[rolecheck='" + checkaction + "']").remove();
}
} function showLoad(tipInfo) {
var eTip = document.createElement('div');
eTip.setAttribute('id', 'tipDiv');
eTip.style.position = 'absolute';
eTip.style.display = 'none';
eTip.style.border = 'solid 0px #D1D1D1';
eTip.style.backgroundColor = '#4B981D';
eTip.style.padding = '5px 15px';
eTip.style.top = '10px';
eTip.style.right = '10px';
eTip.style.width = '120px'; eTip.innerHTML = '<img src=\'/Images/loader.gif\' style=\'float:left;\' />  <span style=\'color:#ffffff; font-size:12px\'>' + tipInfo + '</span>';
try {
document.body.appendChild(eTip);
} catch (e) { }
$("#tipDiv").css("float", "right");
$("#tipDiv").css("z-index", "99");
$('#tipDiv').fadeIn();
} function closeLoad() {
$('#tipDiv').fadeOut();
} function ForDight(Dight, How) {
Dight = Math.round(Dight * Math.pow(10, How)) / Math.pow(10, How);
return Dight;
} function changetitle(object) {
$(object).attr("title", $(object).val());
} function atoc(numberValue) {
var numberValue = new String(Math.round(numberValue * 100)); // 数字金额
var chineseValue = ""; // 转换后的汉字金额
var String1 = "零壹贰叁肆伍陆柒捌玖"; // 汉字数字
var String2 = "万仟佰拾亿仟佰拾万仟佰拾元角分"; // 相应单位
var len = numberValue.length; // numberValue 的字符串长度
var Ch1; // 数字的汉语读法
var Ch2; // 数字位的汉字读法
var nZero = 0; // 用来计算连续的零值的个数
var String3; // 指定位置的数值
if (len > 15) {
alert("超出计算范围");
return "";
}
if (numberValue == 0) {
chineseValue = "零元整";
return chineseValue;
}
String2 = String2.substr(String2.length - len, len); // 取出相应位数的STRING2的值
for (var i = 0; i < len; i++) {
String3 = parseInt(numberValue.substr(i, 1), 10); // 取出需转换的某一位的值
if (i != (len - 3) && i != (len - 7) && i != (len - 11) && i != (len - 15)) {
if (String3 == 0) {
Ch1 = "";
Ch2 = "";
nZero = nZero + 1;
}
else if (String3 != 0 && nZero != 0) {
Ch1 = "零" + String1.substr(String3, 1);
Ch2 = String2.substr(i, 1);
nZero = 0;
}
else {
Ch1 = String1.substr(String3, 1);
Ch2 = String2.substr(i, 1);
nZero = 0;
}
}
else { // 该位是万亿。亿。万。元位等关键位
if (String3 != 0 && nZero != 0) {
Ch1 = "零" + String1.substr(String3, 1);
Ch2 = String2.substr(i, 1);
nZero = 0;
}
else if (String3 != 0 && nZero == 0) {
Ch1 = String1.substr(String3, 1);
Ch2 = String2.substr(i, 1);
nZero = 0;
}
else if (String3 == 0 && nZero >= 3) {
Ch1 = "";
Ch2 = "";
nZero = nZero + 1;
}
else {
Ch1 = "";
Ch2 = String2.substr(i, 1);
nZero = nZero + 1;
}
if (i == (len - 11) || i == (len - 3)) { // 假设该位是亿位或元位,则必须写上
Ch2 = String2.substr(i, 1);
}
}
chineseValue = chineseValue + Ch1 + Ch2;
}
if (String3 == 0) { // 最后一位(分)为0时。加上“整”
chineseValue = chineseValue + "整";
}
return chineseValue;
} var chars = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z']; function generateMixed(n) {
var res = "";
for (var i = 0; i < n; i++) {
var id = Math.ceil(Math.random() * 35);
res += chars[id];
}
return res;
} /// <summary>
/// 实现数据的四舍五入法
/// </summary>
/// <param name="v">要进行处理的数据</param>
/// <param name="x">保留的小数位数</param>
/// <returns>四舍五入后的结果</returns>
function Round(v, x) {
var isNegative = false;
//假设是负数
if (v < 0) {
isNegative = true;
v = -v;
} var IValue = 1;
for (var i = 1; i <= x; i++) {
IValue = IValue * 10;
}
var Int = Math.round(v * IValue, 0);
v = Int / IValue; if (isNegative) {
v = -v;
} return v;
} /// <summary>
/// 实现数据的向上取整
/// </summary>
/// <param name="v">要进行处理的数据</param>
/// <param name="x">保留的小数位数</param>
/// <returns>向上取整后的结果</returns>
function Ceiling(v, x) {
var isNegative = false;
//假设是负数
if (v < 0) {
isNegative = true;
v = -v;
} var IValue = 1;
for (var i = 1; i <= x; i++) {
IValue = IValue * 10;
}
var Int = Math.ceil(v * IValue);
v = Int / IValue; if (isNegative) {
v = -v;
} return v;
} /// <summary>
/// 实现数据的向下取整
/// </summary>
/// <param name="v">要进行处理的数据</param>
/// <param name="x">保留的小数位数</param>
/// <returns>向下取整后的结果</returns>
function Floor(v, x) {
var isNegative = false;
//假设是负数
if (v < 0) {
isNegative = true;
v = -v;
} var IValue = 1;
for (var i = 1; i <= x; i++) {
IValue = IValue * 10;
}
var Int = Math.floor(v * IValue);
v = Int / IValue; if (isNegative) {
v = -v;
} return v;
} /// <summary>
/// 实现数据的四舍五入,向上取整。向下取整
/// </summary>
/// <param name="v">要进行处理的数据</param>
/// <param name="x">保留的小数位数</param>
/// <param name="type">1四舍五入。2向上取整,3向下取整</param>
/// <returns></returns>
function DecimalProcessing(v, x, type) {
var result = 0;
switch (type) {
case "1":
result = Round(v, x);
break;
case "2":
result = Ceiling(v, x);
break;
case "3":
result = Floor(v, x);
break;
default:
result = Round(v, x);
break;
} return result;
} //除法函数,用来得到精确的除法结果 // 说明:javascript的除法结果会有误差,在两个浮点数相除的时候会比較明显。这个函数返回较为精确的除法结果。 //调用:accDiv(arg1,arg2) //返回值:arg1除以arg2的精确结果 function accDiv(arg1, arg2) { var t1 = 0, t2 = 0, r1, r2; try { t1 = arg1.toString().split(".")[1].length } catch (e) { } try { t2 = arg2.toString().split(".")[1].length } catch (e) { } with (Math) { r1 = Number(arg1.toString().replace(".", "")) r2 = Number(arg2.toString().replace(".", "")) return (r1 / r2) * pow(10, t2 - t1); } } //给Number类型添加一个div方法,调用起来更加方便。 Number.prototype.div = function (arg) { return accDiv(this, arg); } //乘法函数。用来得到精确的乘法结果 //说明:javascript的乘法结果会有误差,在两个浮点数相乘的时候会比較明显。这个函数返回较为精确的乘法结果。 //调用:accMul(arg1,arg2) //返回值:arg1乘以 arg2的精确结果 function accMul(arg1, arg2) { var m = 0, s1 = arg1.toString(), s2 = arg2.toString(); try { m += s1.split(".")[1].length } catch (e) { } try { m += s2.split(".")[1].length } catch (e) { } return Number(s1.replace(".", "")) * Number(s2.replace(".", "")) / Math.pow(10, m) } // 给Number类型添加一个mul方法。调用起来更加方便。 Number.prototype.mul = function (arg) { return accMul(arg, this); } //加法函数,用来得到精确的加法结果 //说明:javascript的加法结果会有误差。在两个浮点数相加的时候会比較明显。 这个函数返回较为精确的加法结果。 //调用:accAdd(arg1,arg2) // 返回值:arg1加上arg2的精确结果 function accAdd(arg1, arg2) { var r1, r2, m, c; try { r1 = arg1.toString().split(".")[1].length } catch (e) { r1 = 0 } try { r2 = arg2.toString().split(".")[1].length } catch (e) { r2 = 0 } c = Math.abs(r1 - r2);
m = Math.pow(10, Math.max(r1, r2))
if (c > 0) {
var cm = Math.pow(10, c);
if (r1 > r2) {
arg1 = Number(arg1.toString().replace(".", ""));
arg2 = Number(arg2.toString().replace(".", "")) * cm;
}
else {
arg1 = Number(arg1.toString().replace(".", "")) * cm;
arg2 = Number(arg2.toString().replace(".", ""));
}
}
else {
arg1 = Number(arg1.toString().replace(".", ""));
arg2 = Number(arg2.toString().replace(".", ""));
}
return (arg1 + arg2) / m } //给Number类型添加一个add方法,调用起来更加方便。 Number.prototype.add = function (arg) { return accAdd(arg, this); } //减法函数,用来得到精确的减法结果 //说明:javascript的减法结果会有误差,在两个浮点数相减的时候会比較明显。 这个函数返回较为精确的减法结果。 //调用:accSub(arg1,arg2) // 返回值:arg1加上arg2的精确结果 function accSub(arg1, arg2) {
var r1, r2, m, n;
try { r1 = arg1.toString().split(".")[1].length } catch (e) { r1 = 0 }
try { r2 = arg2.toString().split(".")[1].length } catch (e) { r2 = 0 }
m = Math.pow(10, Math.max(r1, r2));
//last modify by deeka
//动态控制精度长度
n = (r1 >= r2) ? r1 : r2;
return ((arg1 * m - arg2 * m) / m).toFixed(n);
}

版权声明:本文博主原创文章,博客,未经同意不得转载。

网站通常使用一些javascript包裹 简化电话的更多相关文章

  1. 网站常用的一些javascript封装 简化调用

    //用于网页地址参数 //参数中包含出了英文中文数字之外的其他符号时进行编码并在前面加"=="进行标识,否则直接返回 //解码时根据是否含有"=="标识来决定是 ...

  2. 给网站添加运行时间的JavaScript完整代码

    function secondToDate(second) { if (!second) { return 0; } var time = new Array(0, 0, 0, 0, 0); if ( ...

  3. 抛砖引玉:探讨网站性能优化之Javascript异步懒加载技术

    懒加载技术是现在许多大型网站的都使用的提高网站性能的方式,它的核心思想是当用户想看页面某个区域时,再加载该区域的数据.这在一定程度上减轻了服务器端的压力,也加快了页面的呈现速度. 其实国内很多网站都用 ...

  4. 网站开发中使用javascript获取浏览器滚动条宽度

    在网站开发中,有时候需要获取浏览器滚动条的宽度,在武汉蚂蹄软件服务中心的技术人员指导之下,我实现了该需求.记录如下: 首先说明一下原理: ①生成一个div,设置滚动条不可见,记录其宽度: ②将上面的d ...

  5. 网站基础html javascript jquery

    第二章HTML HBuilder的使用 边改边看模式 chrome浏览器看. HTML的基本格式 超文本标记语言 HyperText Markup Language HyperText 超文本 Mar ...

  6. CDNJS:使用JavaScript CDN加速网站载入速度

    先介绍一下: 内容传递网络(CDN)或者叫内容分发网络,他的作用是给不同区域的访客以其最快的网速.比如,你的网站是开在美国的,但很多访客来自中国,无疑他们会觉得速度很慢,那么,怎么为他们提速呢?简单来 ...

  7. Web开发——JavaScript基础

    参考学习: MDN JavaScript:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript ECMAScript 6入门(阮一峰):htt ...

  8. 优秀的JavaScript开发框架

    JavaScript基本上是一个面向对象的脚本语言,创建web应用程序和互动网站.Javascript框架也被称为Javascript库.JavaScript框架很容易提高设计web开发工作,提供了许 ...

  9. 向 Web 开发人员推荐35款 JavaScript 图形图表库

    图表是数据图形化的表示,通过形象的图表来展示数据,比如条形图,折线图,饼图等等.可视化图表可以帮助开发者更容易理解复杂的数据,提高生产的效率和 Web 应用和项目的可靠性. 在这篇文章中,我们收集了3 ...

随机推荐

  1. undefined reference to `sin&#39;问题解决

    作者:zhanhailiang 日期:2014-10-25 使用gcc编译例如以下代码时报"undefined reference to `sin'": #include < ...

  2. c#控制台应用程序-“进入指定日期检查出星期几”

    这涉及一个算法: 基姆拉尔森计算公式 W= (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400+1) mod 7 在公式中d表示日期中的日数.m表示月份数.y表示年数. 注意:在公式 ...

  3. 网络编程——XML与JSON

    概述 如上篇博客点击打开链接介绍.互联网公司发布Web服务,于是开发者们就可以将其用到自己的应用中.Web服务的工作方式类似于浏览器,输入请求,按下回车,等待远程计算机响应.当响应返回时,浏览器会使用 ...

  4. 【HDU】4888 Redraw Beautiful Drawings 网络流【推断解是否唯一】

    传送门:pid=4888">[HDU]4888 Redraw Beautiful Drawings 题目分析: 比赛的时候看出是个网络流,可是没有敲出来.各种反面样例推倒自己(究其原因 ...

  5. cocos2d-x快乐的做让人快乐的游戏3:cocos-2d 3.x中的物理世界

    Cocos2d-x 3.0+ 中全新的封装的物理引擎给了开发人员最大的便捷,你不用再繁琐与各种物理引擎的细节,全然的封装让开发人员能够更快更好的将物理引擎的机制加入�到自己的游戏中,简化的设计是从2. ...

  6. HDU - 2825 Wireless Password(AC自己主动机+DP)

    Description Liyuan lives in a old apartment. One day, he suddenly found that there was a wireless ne ...

  7. 安卓---项目中插入百度地图sdk

    百度地图 应用里面 自带地图 搜房网 下载百度地图的sdk 熟悉api 注冊百度开发人员的账号 2.12 仅仅要有一个ak就能够 高版本号须要提供应用程序的包名和签名返回开发人员的序列号 使用百度地图 ...

  8. WPF弹性模拟动画

    原文:WPF弹性模拟动画 我们此次将要制作模拟物理中的弹性现象的交互动画,我们让一个小球向鼠标点击位置移动,这个移动的轨迹不是简单的位移,而是根据胡克定律计算得出的. 胡克定律:F=-kd F代表弹性 ...

  9. ubuntu server编译安装nginx

    刚刚安装好了ubuntu server14.04,如今要安装一个webserver,纯静态就用nginx应用程序server吧,性能出众啊. 安装编译环境 我们这里採用源代码编译安装的方式,大家能够看 ...

  10. 第二期“晋IT”分享成长沙龙

    本期主题:微信.打造品牌个体 报名方式:关注微信.回复"我要成长" "晋IT"沙龙费用:全程免费 "晋IT"沙龙文化:共通 共融 合作共赢 ...