//JavaScript Trim Functio String.prototype.Trim = function() { return this.replace(/(^\s*)|(\s*$)/g, ""); } //去除空格,回车 String.prototype.LTrim = function() { return this.replace(/(^\s*)/g, ""); //删除字符串左边的空格回车 } String.prototype.RTrim = function() { return this.replace(/(\s*$)/g, ""); }
$('html,body').dblclick(function(){ $('html,body').animate({scrollTop: 0},800); });
$('html,body').dblclick(function(){ $('#container').fadeTo("100", 0.4, function(){ $('html,body').animate({scrollTop: 0},800, function(){ $('#container').fadeTo("100", 1); }); }); }); $('#container').dblclick(function(e){ e.stopPropagation(); });
对于一个网页上的表单,放置了一个提交按钮以后,用户如果按了键盘的回车键,默认情况下,就会提交这个表单了。这样对于用户输入各个表单项目,用户体验很不好,输入完一个项目,或者用鼠标选择下一个项目,或者用键盘的Tab键选中下一个项目。
二、问题要求:
1:如果当前处于焦点(也就是用户正在输入的那个文本框)不是最后一个输入框,那么按回车键时,将焦点转移到下一个输入框;
2:如果当前处于焦点(也就是用户正在输入的那个文本框)是最后一个输入框,那么按回车键时,将请用户确认后提交表单;
三、基本思路:
1:判断按键是否是回车建, 这个比较好办,用jQeury中的事件,就可以获取到当前按的键的值了,回车键的值是13,比较一下即可。
2:判断当前处于焦点的输入框是不是最后一个输入框。
$(function() { $("form[name='articleForm'] input:text").keypress(function(e) { if (e.which == 13) // 判断所按是否回车键 { var inputs = $("form[name='articleForm']").find(":text"); // 获取表单中的所有输入框 var idx = inputs.index(this); // 获取当前焦点输入框所处的位置 if (idx == inputs.length - 1) // 判断是否是最后一个输入框 { if (confirm("最后一个输入框已经输入,是否提交?")) // 用户确认 $("form[name='articleForm']").submit(); // 提交表单 } else { inputs[idx + 1].focus(); // 设置焦点 inputs[idx + 1].select(); // 选中文字 } return false;// 取消默认的提交行为 } }); });
java返回一个时间范围内的随机日期
package com.wlh.hibernate; import java.text.SimpleDateFormat; import java.util.Date; public class Test { //返回2007-01-01到2007-03-01的一个随机日期 public static void main(String []args){ Date randomDate=randomDate("2007-01-01","2007-03-01"); System.out.println(randomDate.toString()); } /** * 获取随机日期 * @param beginDate 起始日期,格式为:yyyy-MM-dd * @param endDate 结束日期,格式为:yyyy-MM-dd * @return */ private static Date randomDate(String beginDate,String endDate ){ try { SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); Date start = format.parse(beginDate);//构造开始日期 Date end = format.parse(endDate);//构造结束日期 //getTime()表示返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数。 if(start.getTime() >= end.getTime()){ return null; } long date = random(start.getTime(),end.getTime()); return new Date(date); } catch (Exception e) { e.printStackTrace(); } return null; } private static long random(long begin,long end){ long rtn = begin + (long)(Math.random() * (end - begin)); //如果返回的是开始时间和结束时间,则递归调用本函数查找随机值 if(rtn == begin || rtn == end){ return random(begin,end); } return rtn; } }
返回两个数组中不同的元素,求数组反集
var a=['1','2','3','4'] var b=['1','2']
如何比较才能返回两个数组中不同的元素,其实就是求两个数组的反集,得到数组c=['3','4'] 基本的算法就是比较两个数组的元素,把不同的挑出来放到一个数组里,最后返回该Array 我在上一篇文章中山寨了一个JS版的in_array函数来判断Array中是否包含某个元素,如果数组元素是基本类型(Number,String,Boolean)的很好比较,但如果是对象类型就麻烦一些,JS对象的比较见JavaScript使用equals()比较对象
我们再来重新山寨一个是否包含元素的方法,这次我们山寨java的contains函数
Array.prototype.contains = function(obj) { var boo = false; for(var i=0;i<this.length;i++) { if(typeof obj == "object") { if(this[i].equals(obj)) { boo = true; break; } }else { if(this[i] == obj) { boo = true; break; } } } return boo; }
这个方法就能判断对象的equals了,而普通数据我们还是用==来判断
接下来,继续我们的革命大业,求数组反集,该函数就用到了我们上面写的contains方法,原理就是遍历Array找出不同的元素就丢到新数组中去,
function filter(a1, a2) { var myAry = []; for(var i=0;i<a1.length;i++) { if(!a2.contains(a1[i])) myAry.push(a1[i]); } return myAry; }
var a=['1','2','3','4'] ; var b=['1','2'] ; var c = filter(a,b); alert(c);//输出["3","4"]