一些常用的Javascript函数


Posted in Javascript onDecember 22, 2006

来公司后所在项目组开发的是一个客户端的软件,软件界面采用WEB界面来体现,因此要用到不少Javascript.来公司后所在项目组开发的是一个客户端的软件,软件界面采用WEB界面来体现,因此要用到不少Javascript.把自己写的一些通用JS函数整理了下:)

/*判断浏览器版本*/
var w3c=(document.getElementById)? true: false;
var agt=navigator.userAgent.toLowerCase();
var ie = ((agt.indexOf("msie") != -1) && (agt.indexOf("opera") == -1) && (agt.indexOf("omniweb") == -1));
var ie5=(w3c && ie)? true : false;
var ns6=(w3c && (navigator.appName=="Netscape"))? true: false;
var op8=(navigator.userAgent.toLowerCase().indexOf("opera")==-1)? false:true;

function Ob(o){//取得一个对象
 return document.getElementById(o)?document.getElementById(o):o;
}

function IsSubStr(p,s){//判断是否为子字符串
return (p.indexOf(s)>-1);
}

function Hd(o){//隐藏某个对象
 Ob(o).style.display="none";
}

function Sw(o){//显示某个对象
 Ob(o).style.display="block";
}
function Sw2(o){//显示某个对象
 Ob(o).style.display="";
}

function Sf(o,s,b){
//该函数用于多按钮共用同一表单,其中:o为表单的ID b为隐藏的input的ID(其value供后如判断用户提交动作类型) s为用户提交动作类型
 Ob(b).value=s;
 Ob(o).submit();
}

function ExChgCls(o,a,b){//切换对象的className
 o.className=o.className==a?b:a;
}

function ExChgHtml(o,a,b){//切换对象的innerHTML
 o.innerHTML=o.innerHTML==a?b:a;
}

function Oh(o,s){ //输出字符串给某个对象
 Ob(o).innerHTML=s;
}

function SetSrc(o,s){//改变img、iframe等对象的src值
 Ob(o).src=s;
}

/*XmlHttp*/
function Gp(url,o){ //GetHttpPage
var o=Ob(o);
var PageRequest = false;
IsLoading(o);
if (window.XMLHttpRequest) {// if Mozilla, Safari etc
PageRequest = new XMLHttpRequest();
}
else if (window.ActiveXObject){ // if IE
try {
PageRequest = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e){
try{
PageRequest = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e){;}
}
}
else {return false ;}
PageRequest.onreadystatechange=function(){
 if (PageRequest.readyState == 4) {
 Lp(PageRequest,o);
 }
}
PageRequest.open('GET', url, true);
PageRequest.send(null);
}

function Lp(PageRequest,o){ //LoadPage
if (PageRequest.readyState == 4 && (PageRequest.status==200 || window.location.href.indexOf("http")==-1))
Ob(o).innerHTML=PageRequest.responseText;
//Hd("OpMsg");
}

function IsLoading(o){
o.innerHTML="数据加载中,请稍候......";
 //Sw2("OpMsg");
}

 //Include Javascript File
function IncJs(sSrc,sID){
var oHead = document.getElementsByTagName('head')[0];
var oScript = document.createElement('script');
 oScript.type = "text/javascript";
 oScript.src = sSrc;
 oScript.id = sID;
if(oScript.readyState=="loaded") {oHead.appendChild(oScript); }
}

/*Move & Remove*/
function Mv(a,b,n) {
var i = 0;
var f=Ob(a);
var t=Ob(b);
var n=n?n:0;
if (n==0) {
for(var ii=0; ii<f.options.length; ii++) {
if(f.options[ii].selected ) {
var no = new Option();
no.value = f.options[ii].value;
no.text = f.options[ii].text;
t.options[t.options.length] = no;
}
}
}
else {
for(var ii=0; ii<f.options.length; ii++) {
if(f.options[ii].selected ) {
t.value += ","+f.options[ii].value;
}
}
}
Rv(a);
}

function Rv(o) {
var o=Ob(o);
for(var ii=o.options.length-1; ii>=0; ii--) {
if(o.options[ii].selected && o.options[ii] != "") {
 o.options[ii].value = "";
 o.options[ii].text = "";
 o.options[ii] = null;
 }
}
}

function ChgInp(o1,o2){
 Ob(o2).readOnly=(!Ob(o1).checked);
 if (Ob(o1).checked) {
 Ob(o2).className="InpTxt";
 Ob(o2).focus();
 } else {
 Ob(o2).className="InpTxt0";
 }
}

/*Checkbox*/
function DoChk(o,o2,s){
 this.OldCls = s || "";
 if (o.checked==false) { 
 o.parentNode.parentNode.className=this.OldCls;
 Ob("BtnChkAll").checked=false;
 } else {
 o.parentNode.parentNode.className="chked";
 IsAllChk(o2,this.OldCls);
 }
}

function IsAllChk(o,s){
 var ChkNums=0;
 var arrObj=Ob(o).getElementsByTagName("input");
 this.OldCls = s || "";
 for (i=0;i<arrObj.length;i++ ) {
 if (arrObj[ii].checked) {
 ChkNums+=1;
 arrObj[ii].parentNode.parentNode.className="chked";
 } else {
 arrObj[ii].parentNode.parentNode.className=this.OldCls;
 }
 }
//alert(ChkNums+":" +arrObj.length)
 if (ChkNums==arrObj.length-1) {
 Ob("BtnChkAll").checked=true;
 } else {
 Ob("BtnChkAll").checked=false;
 }
}

function ChkAll(o,o2,s){
 var arrObj=Ob(o2).getElementsByTagName("input");
 this.OldCls = s || "";
 for (ii=1;ii<arrObj.length;ii++ ) {
 arrObj[ii].checked=o.checked;
 if (o.checked) {
 arrObj[ii].parentNode.parentNode.className="chked";
 } else {
 arrObj[ii].parentNode.parentNode.className=this.OldCls;
 }
 }
}

function OppChk(){
 var arrObj=Ob("Photos").getElementsByTagName("input");
 for (ii=0;ii<arrObj.length;ii++ ) {
 arrObj[ii].checked=!arrObj[ii].checked;
 }
 IsAllChk();
}

/*Test Nums*/
function IsIntNum(s){
 var reIntNum=/^\-?\d+$/;
 return reIntNum.test(s);
}
function IsBetween(n0,n1,n2,t){
 this.CompareType=t || 4;
 switch (this.CompareType) {
 case 0 :
 return (n0>n1 && n0<n2);
 case 1 :
 return (n0>=n1 && n0<n2);
 case 2 :
 return (n0>n1 && n0<=n2);
 default :
 return (n0>=n1 && n0<=n2);
 } 
}

Javascript 相关文章推荐
一些实用的jQuery代码片段收集
Jul 12 Javascript
js 字符串转换成数字的三种方法
Mar 23 Javascript
JS实现仿新浪微博发布内容为空时提示功能代码
Aug 19 Javascript
jquery实现的伪分页效果代码
Oct 29 Javascript
基于jQuery实现的双11天猫拆红包抽奖效果
Dec 01 Javascript
JS中常用的输出方式(五种)
Jun 12 Javascript
js数组的五种迭代方法及两种归并方法(推荐)
Jun 14 Javascript
Javascript实现代码折叠功能
Aug 25 Javascript
如何实现星星评价(jquery.raty.js插件)
Dec 21 Javascript
Angular 4.x 动态创建表单实例
Apr 25 Javascript
Vue.js 点击按钮显示/隐藏内容的实例代码
Feb 08 Javascript
最新最全的手机号验证正则表达式
Feb 24 Javascript
用Javascript实现UTF8编码转换成gb2312编码
Dec 22 #Javascript
使用Modello编写JavaScript类
Dec 22 #Javascript
获取Javscript执行函数名称的方法
Dec 22 #Javascript
Javascript开发包大全整理
Dec 22 #Javascript
用js重建星际争霸
Dec 22 #Javascript
js版本A*寻路算法
Dec 22 #Javascript
优化JavaScript脚本的性能的几个注意事项
Dec 22 #Javascript
You might like
php实现微信公众平台账号自定义菜单类
2014/12/02 PHP
PHP获取数组最后一个值的2种方法
2015/01/21 PHP
支付宝接口开发集成支付环境小结
2015/03/17 PHP
php保存任意网络图片到服务器的方法
2015/04/14 PHP
php实现zip文件解压操作
2015/11/03 PHP
jquery预览图片实现鼠标放上去显示实际大小
2014/01/16 Javascript
jquery如何把数组变为字符串传到服务端并处理
2014/04/30 Javascript
JavaScript数组操作函数汇总
2016/08/05 Javascript
Vue.js 递归组件实现树形菜单(实例分享)
2016/12/21 Javascript
ES6中Proxy与Reflect实现重载(overload)的方法
2017/03/30 Javascript
ZeroClipboard.js使用一个flash复制多个文本框
2017/06/19 Javascript
原生JavaScript来实现对dom元素class的操作方法(推荐)
2017/08/16 Javascript
微信小程序中button组件的边框设置的实例详解
2017/09/27 Javascript
jquery自定义显示消息数量
2017/12/19 jQuery
解决vue+webpack打包路径的问题
2018/03/06 Javascript
快速解决处理后台返回json数据格式的问题
2018/08/07 Javascript
Vue的watch和computed方法的使用及区别介绍
2018/09/06 Javascript
微信小程序中使用Async-await方法异步请求变为同步请求方法
2019/03/28 Javascript
小程序分页实践之编写可复用分页组件
2019/07/18 Javascript
js 下拉菜单点击旁边收起实现(踩坑记)
2019/09/29 Javascript
JavaScript实现跟随鼠标移动的盒子
2021/01/28 Javascript
[01:03:22]LGD vs OG 2018国际邀请赛淘汰赛BO3 第一场 8.25
2018/08/29 DOTA
Python random模块(获取随机数)常用方法和使用例子
2014/05/13 Python
tensorflow输出权重值和偏差的方法
2018/02/10 Python
Python简单定义与使用二叉树示例
2018/05/11 Python
详解python3中zipfile模块用法
2018/06/18 Python
python训练数据时打乱训练数据与标签的两种方法小结
2018/11/08 Python
利用Opencv实现图片的油画特效实例
2021/02/28 Python
南非最大的花卉和送礼服务:NetFlorist
2017/09/13 全球购物
French Connection官网:女装、男装及家居用品
2019/03/18 全球购物
公司员工的自我评价范例
2013/11/01 职场文书
机关单位人员学雷锋心得体会
2014/03/10 职场文书
优秀教师先进个人事迹材料
2014/08/31 职场文书
荆州古城导游词
2015/02/06 职场文书
房屋维修申请报告
2015/05/18 职场文书
Mybatis 一级缓存和二级缓存原理区别
2022/09/23 Java/Android