一些常用的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 相关文章推荐
cookie的复制与使用记住用户名实现代码
Nov 04 Javascript
css+js实现部分区域高亮可编辑遮罩层
Mar 04 Javascript
node.js中的fs.open方法使用说明
Dec 17 Javascript
Javascript代码实现仿实例化类
Apr 03 Javascript
JavaScript实现倒计时代码段Item1(非常实用)
Nov 03 Javascript
详解jquery事件delegate()的使用方法
Jan 25 Javascript
JavaScript的字符串方法汇总
Jul 31 Javascript
浅谈js之字面量、对象字面量的访问、关键字in的用法
Nov 20 Javascript
js css自定义分页效果
Feb 24 Javascript
详解从买域名到使用pm2部署node.js项目全过程
Mar 07 Javascript
在React项目中使用Eslint代码检查工具及常见问题
Oct 10 Javascript
vue.js click点击事件获取当前元素对象的操作
Aug 07 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
JAVA/JSP学习系列之四
2006/10/09 PHP
PHP的基本常识小结
2013/07/05 PHP
PHP如何通过传引用的思想实现无限分类(代码简单)
2015/10/13 PHP
一段效率很高的for循环语句使用方法
2007/08/13 Javascript
javascript基本语法分析说明
2008/06/15 Javascript
jquery 可拖拽的窗体控件实现代码
2010/03/21 Javascript
js下通过getList函数实现分页效果的代码
2010/09/17 Javascript
js确定对象类型方法
2012/03/30 Javascript
解析Jquery中如何把一段html代码动态写入到DIV中(实例说明)
2013/07/09 Javascript
fmt:formatDate的输出格式详解
2014/01/09 Javascript
jquery实现叠层3D文字特效代码分享
2015/08/21 Javascript
举例讲解JavaScript substring()的使用方法
2015/11/09 Javascript
jQuery获取select选中的option的value值实现方法
2016/08/29 Javascript
js当前页面登录注册框,固定div,底层阴影的实例代码
2016/10/04 Javascript
angular 用拦截器统一处理http请求和响应的方法
2017/06/08 Javascript
详解JS浏览器事件循环机制
2019/03/27 Javascript
[02:20]DOTA2中文配音宣传片
2013/05/22 DOTA
[01:28:24]NAVI vs VG Supermajor 败者组 BO3 第三场 6.5
2018/06/06 DOTA
利用Python破解验证码实例详解
2016/12/08 Python
python 文件操作删除某行的实例
2017/09/04 Python
对numpy中array和asarray的区别详解
2018/04/17 Python
Django项目主urls导入应用中views的红线问题解决
2019/08/10 Python
Python打开文件、文件读写操作、with方式、文件常用函数实例分析
2020/01/07 Python
Python参数传递实现过程及原理详解
2020/05/14 Python
Python迭代器协议及for循环工作机制详解
2020/07/14 Python
英国电子专家:maplin
2019/09/04 全球购物
宏碁西班牙官网:Acer西班牙
2021/01/08 全球购物
一套Delphi的笔试题二
2013/05/11 面试题
演讲稿格式
2014/04/30 职场文书
个人党性分析材料
2014/12/19 职场文书
优秀团员事迹材料
2014/12/25 职场文书
忠诚教育学习心得体会
2016/01/23 职场文书
安全责任协议书范本
2016/03/23 职场文书
基于go interface{}==nil 的几种坑及原理分析
2021/04/24 Golang
MySQL 分区表中分区键为什么必须是主键的一部分
2022/03/17 MySQL
Python中Schedule模块使用详解 周期任务神器
2022/04/19 Python