一些常用的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自定义鼠标右键的实现原理及源码
Jun 23 Javascript
jQuery中dom元素上绑定的事件详解
Apr 24 Javascript
JavaScript淡入淡出渐变简单实例
Aug 06 Javascript
js实现将选中值累加到文本框的方法
Aug 12 Javascript
javascript中的altKey 和 Event属性大全
Nov 06 Javascript
详解Javascript事件驱动编程
Jan 03 Javascript
如何使用JS在HTML中自定义字符串格式化
Jul 20 Javascript
详解React Native顶|底部导航使用小技巧
Sep 14 Javascript
Vue实现将数据库中带html标签的内容输出(原始HTML(Raw HTML))
Oct 28 Javascript
在vue中使用vant TreeSelect分类选择组件操作
Nov 02 Javascript
Javascript实现关闭广告效果
Jan 29 Javascript
vue常用高阶函数及综合实例
Feb 25 Vue.js
用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面向对象值单例模式
2016/05/03 PHP
js批量设置样式的三种方法不推荐使用with
2013/02/25 Javascript
jQuery中get()方法用法实例
2014/12/27 Javascript
JS实现带提示的星级评分效果完整实例
2015/10/30 Javascript
jQuery实现的点赞随机数字显示动画效果(附在线演示与demo源码下载)
2015/12/31 Javascript
极力推荐一款小巧玲珑的可视化编辑器bootstrap-wysiwyg
2016/05/27 Javascript
jQuery实现边框动态效果的实例代码
2016/09/23 Javascript
jQuery控制控件文本的长度的操作方法
2016/12/05 Javascript
JavaScript中创建原子的方法总结
2018/08/26 Javascript
ES6基础之解构赋值(destructuring assignment)
2019/02/21 Javascript
jQuery实现聊天对话框
2020/02/08 jQuery
Eclipse + Python 的安装与配置流程
2013/03/05 Python
详解Golang 与python中的字符串反转
2017/07/21 Python
Python上下文管理器和with块详解
2017/09/09 Python
PyQt5每天必学之事件与信号
2018/04/20 Python
详解Pytorch 使用Pytorch拟合多项式(多项式回归)
2018/05/24 Python
Django使用paginator插件实现翻页功能的实例
2018/10/24 Python
PyQt4编程之让状态栏显示信息的方法
2019/06/18 Python
PyQt5组件读取参数的实例
2019/06/25 Python
Django框架静态文件使用/中间件/禁用ip功能实例详解
2019/07/22 Python
pytorch三层全连接层实现手写字母识别方式
2020/01/14 Python
tensorflow实现对张量数据的切片操作方式
2020/01/19 Python
详解用Pytest+Allure生成漂亮的HTML图形化测试报告
2020/03/31 Python
Pycharm调试程序技巧小结
2020/08/08 Python
Html5移动端div固定到底部实现底部导航条的几种方式
2021/03/09 HTML / CSS
美国在线购买空气净化器、除湿器、加湿器网站:AllergyBuyersClub
2021/03/16 全球购物
什么是重载?CTS、CLS和CLR分别做何解释
2012/05/06 面试题
转让协议书范本
2014/09/13 职场文书
银行奉献演讲稿
2014/09/16 职场文书
工作经验交流材料
2014/12/30 职场文书
学期个人工作总结
2015/02/13 职场文书
小学教师求职信范文
2015/03/20 职场文书
党员转正意见怎么写
2015/06/03 职场文书
2016师德师风学习心得体会
2016/01/12 职场文书
星际争霸:毕姥爷vs解冻03
2022/04/01 星际争霸
使用compose函数优化代码提高可读性及扩展性
2022/06/16 Javascript