一些常用的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 相关文章推荐
js关于字符长度限制的问题示例探讨
Jan 24 Javascript
深入理解JavaScript系列(36):设计模式之中介者模式详解
Mar 04 Javascript
详解AngularJS的通信机制
Jun 18 Javascript
JavaScript修改作用域外变量的方法
Mar 25 Javascript
JS中的hasOwnProperty()和isPrototypeOf()属性实例详解
Aug 11 Javascript
js实现表单及时验证功能 用户信息立即验证
Sep 13 Javascript
理解AngularJs篇:30分钟快速掌握AngularJs
Dec 23 Javascript
原生js实现打字动画游戏
Feb 04 Javascript
vue.js图片转Base64上传图片并预览的实现方法
Aug 02 Javascript
微信小程序如何调用图片接口API并居中显示
Jun 29 Javascript
JavaScript实现简单的弹窗效果
May 19 Javascript
vue各种事件监听实例(小结)
Jun 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的FTP学习(四)
2006/10/09 PHP
php中选择什么接口(mysql、mysqli)访问mysql
2013/02/06 PHP
使用gd库实现php服务端图片裁剪和生成缩略图功能分享
2013/12/25 PHP
ThinkPHP结合AjaxFileUploader实现无刷新文件上传的方法
2014/10/29 PHP
Ubuntu server 11.04安装memcache及php使用memcache来存储session的方法
2016/05/31 PHP
imgAreaSelect 中文文档帮助说明
2011/10/08 Javascript
JS中window.open全屏命令解析及使用示例
2013/12/11 Javascript
js和css写一个可以自动隐藏的悬浮框
2014/03/05 Javascript
移除AngularJS下URL中的#字符的方法
2015/06/19 Javascript
jQuery ajax时间差导致的变量赋值问题分析
2016/01/22 Javascript
xmlplus组件设计系列之按钮(2)
2017/04/26 Javascript
layui中layer前端组件实现图片显示功能的方法分析
2017/10/13 Javascript
AngularJS下$http服务Post方法传递json参数的实例
2018/03/29 Javascript
微信小程序中添加客服按钮contact-button功能
2018/04/27 Javascript
vue 循环加载数据并获取第一条记录的方法
2018/09/26 Javascript
关于微信公众号开发无法支付的问题解决
2018/12/28 Javascript
nuxt.js写项目时增加错误提示页面操作
2020/11/05 Javascript
[00:35]DOTA2上海特级锦标赛 MVP.Phx战队宣传片
2016/03/04 DOTA
python实用代码片段收集贴
2015/06/03 Python
如何处理Python3.4 使用pymssql 乱码问题
2016/01/08 Python
深入浅析Python传值与传址
2018/07/10 Python
Python OpenCV图像指定区域裁剪的实现
2019/10/30 Python
在python中求分布函数相关的包实例
2020/04/15 Python
13个Pandas实用技巧,助你提高开发效率
2020/08/19 Python
解决PyCharm无法使用lxml库的问题(图解)
2020/12/22 Python
解决pycharm 格式报错tabs和space不一致问题
2021/02/26 Python
值得收藏的HTML5资源(学习html5的朋友可以收藏下)
2010/07/20 HTML / CSS
Expedia西班牙:预订酒店、机票、旅行和廉价度假套餐
2019/04/10 全球购物
AURALog面试题软件测试方面
2013/10/22 面试题
DELPHI中如何调用API,可举例说明
2014/01/16 面试题
护士实习鉴定范文
2013/12/22 职场文书
开办化妆品公司创业计划书
2013/12/26 职场文书
七一讲话心得体会
2014/09/05 职场文书
2015年农村党员干部主题教育活动总结
2015/03/25 职场文书
Django利用AJAX技术实现博文实时搜索
2021/05/06 Python
Python机器学习之基于Pytorch实现猫狗分类
2021/06/08 Python