/*
*/
$.extend($.fn.typeahead.Constructor.prototype, {
matcher: function (item) {
return true;
}
});
/*
*/
$.extend($.fn.typeahead.Constructor.prototype, {
matcher: function (item) {
return true;
}
});
来源:http://yuxisanren.iteye.com/blog/2019666
Java服务器端
/*
*java
*coder:宝贤
*/
String callback = request.getParameter("jsonpCallback");
String result = callback + "(" +output+ ")";
response.setContentType("text/html");
response.setCharacterEncoding("UTF-8");
PrintWriter out = response.getWriter();
response.addHeader("Access-Control-Allow-Origin","*");//'*'表示允许所有域名访问,可以设置为指定域名访问,多个域名中间用','隔开
if("IE".equals(request.getParameter("type"))){
response.addHeader("XDomainRequestAllowed","1");
}
out.print("success");
out.print(result);
out.close();
前端Js
/*
*js
*coder:janing
*/
url="http://xxxxxx/Pay2/View2.java";
_post="";
$.ajax({
"url" : url,
"type":"post",
"data":_post,
"success":function(ret){
console.log($.parseJSON(ret));
}
})
/* */ linear: 线性过渡。等同于贝塞尔曲线(0.0, 0.0, 1.0, 1.0) ease: 平滑过渡。等同于贝塞尔曲线(0.25, 0.1, 0.25, 1.0) ease-in: 由慢到快。等同于贝塞尔曲线(0.42, 0, 1.0, 1.0) ease-out: 由快到慢。等同于贝塞尔曲线(0, 0, 0.58, 1.0) ease-in-out: 由慢到快再到慢。等同于贝塞尔曲线(0.42, 0, 0.58, 1.0) step-start: 等同于 steps(1, start) step-end: 等同于 steps(1, end) steps(<integer>[, [ start | end ] ]?): 接受两个参数的步进函数。第一个参数必须为正整数,指定函数的步数。第二个参数取值可以是start或end,指定每一步的值发生变化的时间点。第二个参数是可选的,默认值为end。 cubic-bezier(<number>, <number>, <number>, <number>): 特定的贝塞尔曲线类型,4个数值需在[0, 1]区间内
/*
*/
<label for="wheelDelta"> 滚动值:</label>(IE/Opera)<input id="wheelDelta" type="text" />
<label for="detail"> 滚动值:(Firefox)</label><input id="detail" type="text" />
<script type="text/javascript">
var oTxt=document.getElementById("txt");
/***********************
* 函数:判断滚轮滚动方向
* 作者:walkingp
* 参数:event
* 返回:滚轮方向 1:向上 -1:向下
*************************/
var scrollFunc=function(e){
var direct=0;
e=e || window.event;
var t1=document.getElementById("wheelDelta");
var t2=document.getElementById("detail");
if(e.wheelDelta){//IE/Opera/Chrome
t1.value=e.wheelDelta;
}else if(e.detail){//Firefox
t2.value=e.detail;
}
ScrollText(direct);
}
/*注册事件*/
if(document.addEventListener){
document.addEventListener('DOMMouseScroll',scrollFunc,false);
}//W3C
document.onmousewheel=scrollFunc;//IE/Opera/Chrome/Safari
</script>
来源:https://segmentfault.com/a/1190000005640125
ctrl-shift-d?复制当行到下一行
ctrl-shift-s 保存所有打开的文件
ctrl-shift-o 打开目录
ctrl-p 从添加的项目中查找文件
ctrl-f 向下翻页
ctrl-b 向上翻页
alt-b 或 ctrl-left 移动到单词开始
alt-f 或 ctrl-right 移动到单词末尾
ctrl-g 移动到指定行
ctrl-j 将下一行与当前行合并
ctrl-up, ctrl-down 使当前行向上或者向下移动
ctrl-enter,ctrl-shift-enter在当前行的下一行或上一行插入新的一行
ctrl-k ctrl-l使当前字符小写
ctrl-k ctrl-u使当前字符大写
ctrl-shift-D 复制当前行到下一行
ctrl-shift-K 删除当前行
ctrl-u删除到当前行开始
alt-backspace或ctrl-alt-h删除到当前子单词开始
alt-delete或ctrl-alt-d删除到当前子单词结束
ctrl-backspace或ctrl-w或alt-h删除到当前单词开始
alt-d或ctrl-delete删除到当前子单词开始
alt-left: 'editor:move-to-previous-subword-boundary'
alt-right: 'editor:move-to-next-subword-boundary'
alt-shift-left: 'editor:select-to-previous-subword-boundary'
alt-shift-right: 'editor:select-to-next-subword-boundary'
alt-shift-B或 ctrl-shift-left 选取至字符开始
alt-shift-F或ctrl-shift-right 选取至字符结束
ctrl-a 全选
alt-f3选取文档中和当前单词相同的所有单词
shift-end 选取至本行结束
ctrl-l 选取一行,继续按回选取下一行
ctrl-d 选取文档中和当前单词相同的下一处
ctrl-\ 或 ctrl-k ctrl-b 显示或隐藏目录树
a 在目录树下添加文件
d 将当前文件另存为
alt-right 和 alt-left 展开(隐藏)所有目录
ctrl-k left 在左半视图中打开文件
ctrl-k down在下半视图中打开文件
ctrl-k up 在上半视图中打开文件
ctrl-k right 在右半视图中打开文件
ctrl-shift-C 复制当前文件绝对路径
ctrl-m 相应括号之间,html tag之间等跳转
ctrl-alt-up, ctrl-alt-down 增加上(下)一行光标
ctrl-shift-u 调出切换编码选项
ctrl-f 在buffer中查找
ctrl-shift-f 在整个工程中查找
alt-ctrl-[ 折叠
alt-ctrl-] 展开
ctrl-alt-i调用控制台
ctrl-/注释
ctrl-alt-c打开color-picker
/*
*/
pre{
white-space: pre-wrap;
word-wrap: break-word;
}
css
.chart-circle-bg{
fill:none ;
stroke:#E4EAF5 ;
stroke-width:10;
stroke-miterlimit:10;
cx:100;
cy:100;
r:55.056;
}
.chart-circle-line{
fill:none;
stroke-linecap: round;
animation: spin 4s infinite linear;
stroke-width:10;
stroke-miterlimit:10;
}
js
<script>
$('input').bind('input propertychange', the_change);
function the_change(){
var it = $(this);
var css=($(this).attr("class"));
var target=$(".chart-circle-line");
var js_target=document.getElementsByClassName("chart-circle-line")[0].getBoundingClientRect();
var h=js_target.height||Bottom - Top;
var w=js_target.width||Right - Left;
switch (css){
case "ray":
target.css("stroke-dasharray",it.val()/100*h*Math.PI+" "+it.val()/100*w*Math.PI)
break;
case "set":
target.css("stroke-dashoffset",it.val()/100*h*Math.PI)
break;
}
}
</script>
html
<svg class="f3" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" x="0px" y="0px" width="200px" height="200px" viewBox="0 0 200 200" enable-background="new 0 0 200 200" xml:space="preserve"> <g > <circle class="chart-circle-bg" /> </g> <defs class=""> <linearGradient id="orange_red" x1="0%" y1="0%" x2="0%" y2="100%"> <stop offset="0%" style="stop-color:#FF675C;stop-opacity:1"/> <stop offset="100%" style="stop-color:#FF325C;stop-opacity:1"/> </linearGradient> </defs> <g > <path class="chart-circle-line" xmlns="http://www.w3.org/2000/svg" stroke="url(#orange_red)" d="M100,44.944c30.407,0,55.056,24.649,55.056,55.056 c0,30.406-24.648,55.057-55.056,55.057c-30.406,0-55.056-24.65-55.056-55.057C44.944,69.593,69.594,44.944,100,44.944" /> </g> </svg> <input class='ray' > <input class='set' >
/**
* 克隆对象
*/
//函数法
function cloneObj(myObj){
if(typeof(myObj) != 'object') { return myObj; }
if(myObj == null) { return myObj; }
if(myObj instanceof Array ){
var myNewObj = [];
}else{
var myNewObj = new Object();
}
for(var i in myObj) {
myNewObj[i] = cloneObj(myObj[i]);
}
return myNewObj;
}
//原型链法
Object.prototype.objectCopy = function()
{
var objClone;
if ( this.constructor == Object ) {
if(this.constructor instanceof Array){
objClone = [];
}else{
objClone = new this.constructor();
}
} else {
objClone = new this.constructor(this.valueOf());
}
for ( var key in this )
{
if ( objClone[key] != this[key] )
{
if ( typeof(this[key]) == 'object' )
{
objClone[key] = this[key].objectCopy();
}
else
{
objClone[key] = this[key];
}
}
}
objClone.toString = this.toString;
objClone.valueOf = this.valueOf;
return objClone;
}
原文地址:http://www.jb51.net/article/60398.htm(我知道这不是原作者,请知道的转告我jackqqq123@sina.com)
简单版
/*
var hangstr="this is {0},{1}";
printf(hangstr,"me","guy");
//result :this is me,guy
*/
function printf() {
var num = arguments.length;
var oStr = arguments[0];
for (var i = 1; i < num; i++) {
var pattern = "\\{" + (i-1) + "\\}";
var re = new RegExp(pattern, "g");
oStr = oStr.replace(re, arguments[i]);
}
return oStr;
}
完整功能
1.%% - 返回百分号本身
2.%b - 二进制数字
3.%c - ASCII对应的字符
4.%d - 整数
5.%f - 浮点数
6.%o - 八进制数字
7.%s - 字符串
8.%x - 16进制数字 (小写字母形式)
9.%X - 16进制数字 (大写字母形式)
在 % 号和通配字符之间可用的选项包括 (比如 %.2f):
1.+????? (强制在数字前面显示 + 和 - 符号作为正负数标记。缺省情况下只有负数才显示 - 符号)
2.-????? (变量左对齐)
3.0????? (使用0作为右对齐的填充字符)
4.[0-9]? (设置变量的最小宽度)
5..[0-9] (设置浮点数精度或字符串的长度)
/*
*/
/**
*
* Javascript sprintf
* http://www.webtoolkit.info/
*
*
**/
sprintfWrapper = {
init : function () {
if (typeof arguments == "undefined") { return null; }
if (arguments.length < 1) { return null; }
if (typeof arguments[0] != "string") { return null; }
if (typeof RegExp == "undefined") { return null; }
var string = arguments[0];
var exp = new RegExp(/(%([%]|(\-)?(\+|\x20)?(0)?(\d+)?(\.(\d)?)?([bcdfosxX])))/g);
var matches = new Array();
var strings = new Array();
var convCount = 0;
var stringPosStart = 0;
var stringPosEnd = 0;
var matchPosEnd = 0;
var newString = '';
var match = null;
while (match = exp.exec(string)) {
if (match[9]) { convCount += 1; }
stringPosStart = matchPosEnd;
stringPosEnd = exp.lastIndex - match[0].length;
strings[strings.length] = string.substring(stringPosStart, stringPosEnd);
matchPosEnd = exp.lastIndex;
matches[matches.length] = {
match: match[0],
left: match[3] ? true : false,
sign: match[4] || '',
pad: match[5] || ' ',
min: match[6] || 0,
precision: match[8],
code: match[9] || '%',
negative: parseInt(arguments[convCount]) < 0 ? true : false,
argument: String(arguments[convCount])
};
}
strings[strings.length] = string.substring(matchPosEnd);
if (matches.length == 0) { return string; }
if ((arguments.length - 1) < convCount) { return null; }
var code = null;
var match = null;
var i = null;
for (i=0; i<matches.length; i++) {
if (matches[i].code == '%') { substitution = '%' }
else if (matches[i].code == 'b') {
matches[i].argument = String(Math.abs(parseInt(matches[i].argument)).toString(2));
substitution = sprintfWrapper.convert(matches[i], true);
}
else if (matches[i].code == 'c') {
matches[i].argument = String(String.fromCharCode(parseInt(Math.abs(parseInt(matches[i].argument)))));
substitution = sprintfWrapper.convert(matches[i], true);
}
else if (matches[i].code == 'd') {
matches[i].argument = String(Math.abs(parseInt(matches[i].argument)));
substitution = sprintfWrapper.convert(matches[i]);
}
else if (matches[i].code == 'f') {
matches[i].argument = String(Math.abs(parseFloat(matches[i].argument)).toFixed(matches[i].precision ? matches[i].precision : 6));
substitution = sprintfWrapper.convert(matches[i]);
}
else if (matches[i].code == 'o') {
matches[i].argument = String(Math.abs(parseInt(matches[i].argument)).toString(8));
substitution = sprintfWrapper.convert(matches[i]);
}
else if (matches[i].code == 's') {
matches[i].argument = matches[i].argument.substring(0, matches[i].precision ? matches[i].precision : matches[i].argument.length)
substitution = sprintfWrapper.convert(matches[i], true);
}
else if (matches[i].code == 'x') {
matches[i].argument = String(Math.abs(parseInt(matches[i].argument)).toString(16));
substitution = sprintfWrapper.convert(matches[i]);
}
else if (matches[i].code == 'X') {
matches[i].argument = String(Math.abs(parseInt(matches[i].argument)).toString(16));
substitution = sprintfWrapper.convert(matches[i]).toUpperCase();
}
else {
substitution = matches[i].match;
}
newString += strings[i];
newString += substitution;
}
newString += strings[i];
return newString;
},
convert : function(match, nosign){
if (nosign) {
match.sign = '';
} else {
match.sign = match.negative ? '-' : match.sign;
}
var l = match.min - match.argument.length + 1 - match.sign.length;
var pad = new Array(l < 0 ? 0 : l).join(match.pad);
if (!match.left) {
if (match.pad == "0" || nosign) {
return match.sign + pad + match.argument;
} else {
return pad + match.sign + match.argument;
}
} else {
if (match.pad == "0" || nosign) {
return match.sign + match.argument + pad.replace(/0/g, ' ');
} else {
return match.sign + match.argument + pad;
}
}
}
}
sprintf = sprintfWrapper.init;