一些常用的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 相关文章推荐
Javascript中call与apply的学习笔记
Sep 22 Javascript
JavaScript实现鼠标滑过图片变换效果的方法
Apr 16 Javascript
JQuery勾选指定name的复选框集合并显示的方法
May 18 Javascript
JavaScript中获取纯正的undefined的方法
Mar 06 Javascript
理解 Node.js 事件驱动机制的原理
Aug 16 Javascript
解决Vue编译时写在style中的路径问题
Sep 21 Javascript
Vue CLI3 如何支持less的方法示例
Aug 29 Javascript
Angular2之二级路由详解
Aug 31 Javascript
基于Vue2-Calendar改进的日历组件(含中文使用说明)
Apr 14 Javascript
Elasticsearch实现复合查询高亮结果功能
Sep 10 Javascript
uni-app如何实现增量更新功能
Jan 03 Javascript
原生js实现弹窗消息动画
Nov 20 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代码中使用换行及(\n或\r\n和br)的应用
2013/02/02 PHP
PHP中的函数-- foreach()的用法详解
2013/06/24 PHP
php curl 获取https请求的2种方法
2015/04/27 PHP
JSON用法之将PHP数组转JS数组,JS如何接收PHP数组
2015/10/08 PHP
Zend Framework教程之Application和Bootstrap用法详解
2016/03/10 PHP
深入理解JavaScript系列(12) 变量对象(Variable Object)
2012/01/16 Javascript
js 得到文件后缀(通过正则实现)
2013/07/08 Javascript
点击页面其它地方隐藏该div的两种思路
2013/11/18 Javascript
Javascript遍历table中的元素示例代码
2014/07/08 Javascript
Google Maps API地图应用示例分享
2014/10/23 Javascript
使用CDN和AJAX加速WordPress中jQuery的加载
2015/12/05 Javascript
深入解析JavaScript框架Backbone.js中的事件机制
2016/02/14 Javascript
Node.js读写文件之批量替换图片的实现方法
2016/09/07 Javascript
手机浏览器 后退按钮强制刷新页面方法总结
2016/10/09 Javascript
详解基于node的前端项目编译时内存溢出问题
2017/08/01 Javascript
AngularJs导出数据到Excel的示例代码
2017/08/11 Javascript
angularjs 的数据绑定实现原理
2018/07/02 Javascript
vue.js引入外部CSS样式和外部JS文件的方法
2019/01/06 Javascript
jQuery与原生JavaScript选择HTML元素集合用法对比分析
2019/11/26 jQuery
vue单元格多列合并的实现
2020/11/26 Vue.js
解决出现Incorrect integer value: '' for column 'id' at row 1的问题
2017/10/29 Python
使用50行Python代码从零开始实现一个AI平衡小游戏
2018/11/21 Python
python爬虫超时的处理的实例
2018/12/19 Python
Python中使用双下划线防止类属性被覆盖问题
2019/06/27 Python
Python过滤掉numpy.array中非nan数据实例
2020/06/08 Python
scrapy-redis分布式爬虫的搭建过程(理论篇)
2020/09/29 Python
css3实现3D色子翻转特效
2014/12/23 HTML / CSS
CSS3模拟IOS滑动开关效果
2016/09/28 HTML / CSS
Html5实现单张、多张图片上传功能
2019/04/28 HTML / CSS
伦敦剧院及景点门票:Encore Tickets
2018/07/01 全球购物
以太网Ethernet IEEE802.3
2013/08/05 面试题
JavaScript获取当前url根目录(路径)
2014/02/19 面试题
大学运动会入场词
2014/02/22 职场文书
和解协议书
2014/04/16 职场文书
学校教师安全责任书
2014/07/23 职场文书
交通安全横幅标语
2014/10/07 职场文书