js 小代码收藏

 
//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"]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值