js 小代码收藏

来源:互联网 发布:人工智能 科技创新 编辑:程序博客网 时间:2024/05/21 03:17
 
//JavaScript Trim FunctioString.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"]
原创粉丝点击