常用js代码整理、收集

时间:2022-03-18 03:46:12

个人整理了一下个人常用到的一些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&period;js

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

  3. 项目中常用js方法整理common&period;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&period;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. php排序算法

    <?php//冒泡排序(数组排序) function bubble_sort($array){ $count = count($array); if ($count <= 0) retur ...

  2. ArcEngine选中面要素样式修改

    //只用前五行,可以直接将选中的面要素的颜色全部修改成红色,也就是填充颜色 IRgbColor pRgbColor= new RgbColor();; pRgbColor.Red = ; pRgbCo ...

  3. JQuery 中 is&lpar;&&num;39&semi;&colon;visible&&num;39&semi;&rpar; 解析及用法

    实例 选择 <body> 元素中每个可见的元素: $("body :visible") 亲自试一试 定义和用法 :visible 选择器选取每个当前是可见的元素. 除以 ...

  4. Mvc Ajax提交多个checkbox,也说绑定和提交select

    Ajax Mvc的 checkbox 后端必须是List<T> ,T是ID类型,一般int 或guid 模型必须初始化List<T> 防止客户端没有提交任何值时空引用的问题,如 ...

  5. Mybaits简诉

    先组织一下语言!Mybatis是一个框架,一个数据持久化的框架,作用就是SQL语句的映射!减少了JDBC繁琐的数据操作与类型转换!简而言之,就是方便.轻巧!什么是持久化,持久,恩,JDBC就是一个数据 ...

  6. python中int的功能简单介绍

    Int的功能介绍 1. 绝对值 x.__abs__()等同于abs(x) 2. 加法 x.__add__(y)等同于x+y 3. 与运算 x.__and__(y)等同于x&y 4. 布尔运算 ...

  7. OMS自动化运维平台部署

    OMS自动化运维平台部署 一.基础环境安装 yum -y install mariadb mariadb-devel mariadb-server wget epel-release python-d ...

  8. 微信小程序注意点与快捷键

    注意点1. 微信对小程序的要求是整体大小不能超过1MB. 2. .json 是配置文件,其内容必须符合JSON格式,所以文件内部不允许有注释. 3. app.json 是全局配置文件,微信小程序中的每 ...

  9. java第一次,第二次实训

    本次作业通过自己的练习和理解还是可以写出来的,最后两个题目我暂时没有写 编写程序: 声明一个整型变量a,并赋初值5,在程序中判断a是奇数还是偶数,然后输出判断的结果. 编写程序:从键盘输入圆的半径,计 ...

  10. spring&plus;quarts常见问题

    javax/transaction/UserTransactionCaused by: java.lang.NoClassDefFoundError: javax/transaction/UserTr ...