个人整理了一下个人常用到的一些js代码,以方便学习以及日后使用,或许有一些是个人之前从网上摘下来的,但是不记得是具体从哪里来的了,如果你看到有一段代码跟你的文章很相似甚至一样,请不要气愤,请告诉我,我必定加上版权链接。

清除输入框默然提示文字

 <input type="text" name="word" value='请输入关键字' style="color:#ccc;" />
<script>
/*
*清除输入框默然提示文字
*/
jQuery.focusblur = function(focusid,focusColor,blurColor) {
var focusblurid = $(focusid);
var defval = focusblurid.val();
focusblurid.focus(function(){
var thisval = $(this).val();
if(thisval==defval){
$(this).val("");
$(this).css("color",focusColor);
}
});
focusblurid.blur(function(){
var thisval = $(this).val();
if(thisval==""){
$(this).val(defval);
$(this).css("color",blurColor);
}else{
$(this).css("color",focusColor);
}
}); }; $(document).ready(function(){
//清除name='world'的input里的默认提示文字
$.focusblur("[name='word']","#333","#ccc"); })
</script>

返回顶部

 <!-- 返回顶部 -->
<style>
#gotop{display:none; width:80px; height:30px; line-height:30px; text-align:center; border:1px solid #dedede; background-color:#f8f8f8; cursor:pointer;
position:fixed; bottom:40px; right:20px; z-index:99999;
}
</style>
<div id="gotop">gotop</div>
<script type='text/javascript'>
var backTop=function (btnId){
var btn=document.getElementById(btnId);
var d=document.documentElement;
var b=document.body;
window.onscroll=set;
btn.onclick=function (){
btn.style.display="none";
window.onscroll=null;
this.timer=setInterval(function(){
d.scrollTop-=Math.ceil((d.scrollTop+b.scrollTop)*0.1);
b.scrollTop-=Math.ceil((d.scrollTop+b.scrollTop)*0.1);
if((d.scrollTop+b.scrollTop)==0) clearInterval(btn.timer,window.onscroll=set);
},10);
};
function set(){btn.style.display=(d.scrollTop+b.scrollTop>800)?'block':"none"} //滚动的高度大于800px时才显示
};
backTop('gotop');
</script>
<!-- 返回顶部END -->

去除数组里的重复项

 /*
*去除数组里的重复项
*/
function uniQueue(array){
var arr=[];
var m;
while(array.length>0){
m=array[0];
arr.push(m);
array=$.grep(array,function(n,i){
return n==m;
},true);
}
return arr;
}
var testArr=[3,3,2,1,5,5];
alert(testArr); //[3,3,2,1,5,5]
alert(uniQueue(testArr)); //[3,2,1,5]

上一个要用到jquery,要引入jquery或许太麻烦了点,于是乎弄了个原生态js的

 //去除数组里的重复项(纯javascript实现)
function uniQueue(arr){
if(!(arr instanceof Array)) return false;
for(var i=0; i<arr.length; i++){
for(var j=i+1; j<arr.length; j++){
if(arr[i]==arr[j]) arr.splice(j,1);
}
}
return arr;
} var arr=["a","b","a","c","c"];
uniQueue(arr); //arr=["a","b","c"]

为了方便使用,直接把它封装成Array的prototype原型对象函数

 //封装成Array对象的prototype原型对象函数(去除数组里的重复项)
Array.prototype.uniQueue=function(){
for(var i=0; i<this.length; i++){
for(var j=i+1; j<this.length; j++){
if(this[i]==this[j]) this.splice(j,1);
}
}
return this; } var arr=["a","b","a","c","c"];
arr.uniQueue(); //arr=["a","b","c"]

有时候或许需要这样子的要求:出现重复的时候,去除前面的,保留后面的,如要把["a","b","a","c","c"]去除重复项后要求变成这样子["b","a","c"]而不是["a","b","c"]。对之前的代码稍作修改即可:

 function uniQueue(arr){
if(!(arr instanceof Array)) return false;
for(var i=0; i<arr.length; i++){
for(var j=i+1; j<arr.length; j++){
if(arr[i]==arr[j]) arr.splice(i,1); //删除出现相同元素中下标小的,即前者
}
}
return arr;
} var arr=["a","b","a","c","c"];
uniQueue(arr); //此时arr=["b","a","c"],而不是//arr=["a","b","c"]

冒泡排序

 /*
* 冒泡排序
*/
function bubbleSort(arg){
return bubbleSortTemp(arg.arr,
arg.order || "asc");
}
function bubbleSortTemp(arr,order){
if(!(arr instanceof Array)) return false;
if(order=="asc"){ //asc:升序
for(var i=0;i<arr.length;i++){
for(var j=i+1;j<arr.length;j++){
if(arr[i]>arr[j]){
var temp=arr[i];
arr[i]=arr[j];
arr[j]=temp;
}
}
}
return arr;
}else if(order=="desc"){ //desc:降序
for(var i=0;i<arr.length;i++){
for(var j=i+1;j<arr.length;j++){
if(arr[i]<arr[j]){
var temp=arr[i];
arr[i]=arr[j];
arr[j]=temp;
}
}
}
return arr;
}else{
return false;
}
}
//具体例子如下
var testArr=[2,4,5,1,3,6,8,7];
alert(testArr); //[2,4,5,1,3,6,8,7]
alert(bubbleSort({arr:testArr,order:"desc"})); //[8,7,6,5,4,3,2,1]
alert(bubbleSort({arr:testArr,order:"asc"})); //[1,2,3,4,5,6,7,8]
alert(bubbleSort({arr:testArr})); //[1,2,3,4,5,6,7,8]

把冒泡排序封装成prototype原型对象函数

 /*
*把冒泡排序封装成prototype原型对象函数
*/
Array.prototype.asc=function(){ //升序排序
for(var i=0;i<this.length;i++){
for(var j=i+1;j<this.length;j++){
if(this[i]>this[j]){
var temp=this[i];
this[i]=this[j];
this[j]=temp;
}
}
}
return this;
}
Array.prototype.desc=function(){//降序排序
for(var i=0;i<this.length;i++){
for(var j=i+1;j<this.length;j++){
if(this[i]<this[j]){
var temp=this[i];
this[i]=this[j];
this[j]=temp;
}
}
}
return this;
}
//具体例子如下
var testArr=[2,4,5,1,3,6,8,7];
alert(testArr.asc()); //[1,2,3,4,5,6,7,8]
alert(testArr.desc()); //[8,7,6,5,4,3,2,1]

让ie支持getElementsByClassName方法

  if (navigator.appName == 'Microsoft Internet Explorer') {   //让ie支持getElementsByClassName方法
document.getElementsByClassName = function() {
var tTagName = "*";
if (arguments.length > 1) {
tTagName = arguments[1];
}
if (arguments.length > 2) {
var pObj = arguments[2]
} else {
var pObj = document;
}
var objArr = pObj.getElementsByTagName(tTagName);
var tRObj = new Array();
for ( var i = 0; i < objArr.length; i++) {
if (objArr[i].className == arguments[0]) {
tRObj.push(objArr[i]);
}
}
return tRObj;
}
}

常用js代码整理、收集的更多相关文章

  1. 常用JS代码整理

    1: function request(paras) { 2: var url = location.href; 3: var paraString = url.substring(url.index ...

  2. 常用js方法整理common.js

    项目中常用js方法整理成了common.js var h = {}; h.get = function (url, data, ok, error) { $.ajax({ url: url, data ...

  3. 项目中常用js方法整理common.js

    抽空把项目中常用js方法整理成了common.js,都是网上搜集而来的,大家一起分享吧. var h = {}; h.get = function (url, data, ok, error) { $ ...

  4. 常用JS代码片段

    1.隐藏部分数字,如手机号码,身份证号码 1 2 3 function (str,start,length,mask_char){ return str.replace(str.substr(star ...

  5. 站长常用的200个js代码 站长常用js代码大全 站长常用js代码集合

    站长常用的200个js代码 1.文本框焦点问题 onBlur:当失去输入焦点后产生该事件 onFocus:当输入获得焦点后,产生该文件 Onchange:当文字值改变时,产生该事件 Onselect: ...

  6. WEB前端常用JavaScript代码整理

    文章目录 html代码用JS动态加载进页面 JS判断用户访问的是PC还是mobile或者微信浏览器 判断浏览器的简单有效方法 点击某个div区域之外,隐藏该div 如何在手机上禁止浏览器的网页滚动 改 ...

  7. 自动化测试-20.selenium常用JS代码执行

    前言: 在工作中有些控件定位不到,需要操作,使用JS代码去修改或者操作达到selenium不能做的操作. 1.Web界面的滑动 1 #coding:utf-8 2 from selenium impo ...

  8. 常用的JS代码块收集

    /**数组去重一*/ (function (arr) { arr = arr.sort(); for (var i = 0; arr[i]; i++) { if (arr[i] === arr[i + ...

  9. 网页常用Js代码

    1.后退前进 <input type="button" value="后退" onClick="history.go(-1)"> ...

随机推荐

  1. jquery1.9学习笔记 之选择器(基本元素五)

    多种元素选择器  jQuery("selector1,selector2,selectorN") 例子: <!doctype html> <html lang=' ...

  2. php json_decode 后,数字对象转换成了 科学计数法 的解决方案

    php json_decode 后,数字对象转换成了 科学计数法 $obj='{"order_id":213477815351175,"buyer":10000 ...

  3. C++ string类及其函数的讲解

    文章来源于:http://www.cnblogs.com/hailexuexi/archive/2012/02/01/2334183.html C++中string是标准库中一种容器,相当于保存元素类 ...

  4. 自定义Window进入和退出效果(转)

    看了android的源代码和资源文件,终于明白如何去修改设置Dialog和Activity的进入和退出效果了. 设置Dialog首先通过getWindow()方法获取它的窗口, 然后通过getAttr ...

  5. Android SQLite简介

    SQLite 一个非常流行的嵌入式数据库,它支持 SQL 语言,并且只利用很少的内存就有很好的性能.此外它还是开源的,任何人都可以使用它.许多开源项目((Mozilla, PHP, Python)都使 ...

  6. dp优化简单总结

    1.二分优化 (使用二分查找优化查找效率) 典型例题:LIS dp[i]保存长度为 i 的上升子序列中最小的结尾,可以用二分查找优化到nlogn 2.数学优化 (通过数学结论减少状态数) 例题1:hd ...

  7. Java中的ThreadLocal深入理解

    提到ThreadLocal,有些Android或者Java程序员可能有所陌生,可能会提出种种问题,它是做什么的,是不是和线程有关,怎么使用呢?等等问题,本文将总结一下我对ThreadLocal的理解和 ...

  8. mysql 存储过程 计算报表

    把用例执行情况mysql表汇总起来 proc_write_report 汇总执行用例表中的测试数据 写入report 表,report表包括字段 report_id(自增)execution_flag ...

  9. Android学习总结——强制下线功能(广播)

    最近一口气买了好几本书,其中Android的<第一行代码>觉得真心不错,学到这个内容,顺便做个总结,加深印象. 强制下线的基本思想就是在界面上弹出一个对话框,让用户必须点击确定按钮跳转到登 ...

  10. hdu2767 Proving Equivalences --- 强连通

    给一个图,问至少加入�多少条有向边能够使图变成强连通的. 原图是有环的,缩点建图,在该DAG图上我们能够发现,要使该图变成强连通图必须连成环 而加入�最少的边连成环,就是把图上入度为0和出度为0的点连 ...