当前位置: 首页 > 图文教程 > 网络编程 > Javascript > 一些常用的JS功能函数代码

Javascript
JavaScript 复制功能代码 兼容多浏览器
图片与文字半透明效果 鼠标移上不透明
javascript 模拟Marquee文字向左均匀滚动代码
纯CSS 链接悬停提示效果代码
JS、CSS文字切换,定时交替,代码精简
Javascript 仿歌词智能滚动代码
javascript 表单中浏览文件的“浏览”按钮修改
让你的网站可编辑的实现js代码
Javascript var变量隐式声明方法
JS CSS制作饱含热情的镶边文字闪烁特效
Js 实现文字爬楼滚动效果 结合文本框
随日期每天自动变换的文本的js特效
一个链接按两种方式打开两个网址的方法
Js文字背景行如流水特效
让链接必须按先后顺序点击的JS代码
单选按钮决定链接的网址
JavaScript 点击插入文字
获取网站跟路径的javascript代码(站点及虚拟目录)
JS 用6N±1法求素数 实例教程
javascript 添加和移除函数的通用方法

Javascript 中的 一些常用的JS功能函数代码


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 198 ::
收藏到网摘: n/a

将 ClientMentInfo类改成了兼容IE6,IE7,IE8,Vista,Windows 7和Firefox
复制代码 代码如下:

//获取对象
function getObject(objectId,top)
{
doc = top?window.top.document:document;
if(typeof(objectId)!="object" && typeof(objectId)!="function")
{
if(doc.getElementById && doc.getElementById(objectId))
{
// W3C DOM
return doc.getElementById(objectId);
}
else if(doc.getElementsByName(objectId))
{
return doc.getElementsByName(objectId)[0];
}
else if (doc.all && doc.all(objectId))
{
// MSIE 4 DOM
return doc.all(objectId);
}
else if (doc.layers && doc.layers[objectId])
{
// NN 4 DOM.. note: this won't find nested layers
return doc.layers[objectId];
}
else
{
return false;
}
}else
return objectId;
}
//获取相对路径
function getRelativePath()
{
var url = location.href;//当前url
var urlcs = String(location.search);
url = url.replace(urlcs,"");
var path = url.length - url.replace(/\//g,"").length - 3; //层次为url包含/的长度-没有包含/的长度再减去项目头/的个数
var str = "";
for(var i = 0; i < path; i++)
{
str += "../";//组合成一个相对路径的字符串返回
}
return str;
}
//加载其他JS文件或CSS文件
function loadjscssfile(filename,filetype,chkonce)
{
filetype = !filetype?"js":filetype;
var had = false;
if(filetype=="js")
{
if(chkonce)
{
var allScripts = document.getElementsByTagName("script");
for(var i=0;i<allScripts.length;i++)
{
try{
if(allScripts[i].src.indexOf(filename)>-1)
{
had = true;
break;
}
}catch(e){}
}
}
if(!had)
{
document.write("<script src=""+filename+"" src=""+filename+"" type='text/javascript'></script>");
}
}else
{
if(chkonce)
{
var allCss = document.getElementsByTagName("link");
if(allCss.length)
{
for(var i=0;i<allCss.length;i++)
{
try{
if(allCss[i].href.indexOf(filename)>-1)
{
had = true;
break;
}
}catch(e){}
}
}
}
if(!had)
{
document.write("<link type='text/css' rel='stylesheet' href=""+filename+"" href=""+filename+"" />");
}
}
}
//定义根目录路径
var ROOT_PATH = getRelativePath();
var JS_PATH = ROOT_PATH+'js/';
var AJAX_PATH = ROOT_PATH+'ajax/';
var CSS_PATH = ROOT_PATH+'css/';
var IMAGES_PATH = ROOT_PATH+'images/';
var EDITOR_PATH = ROOT_PATH+'uploadeditor/';
var PUB_PATH = ROOT_PATH+'uploadfile/';
//加载公共变量的JS
loadjscssfile(JS_PATH+"globalPara.js");
//设置下拉表中某一项被选中
function setSelOption(objId,vlu)
{
objId = getObject(objId);
for(var i=0;i<objId.options.length;i++)
{
if(objId.options[i].value==vlu)
{
objId.options[i].setAttribute("selected","selected");
break;
}
}
}
//根据下拉表中的option文本设置某一项被选中
function setTxtOption(objId,txt)
{
objId = getObject(objId);
for(var i=0;i<objId.options.length;i++)
{
if(objId.options[i].innerHTML==txt)
{
objId.options[i].setAttribute("selected","selected");
break;
}
}
}
//设置单选按钮组中某一项被选中
function setSelRadio(objName,vlu)
{
objName = document.getElementsByName(objName);
for(var i=0;i<objName.length;i++)
{
if(objName[i].value==vlu)
{
objName[i].setAttribute("checked","checked");
break;
}
}
}
//根据ID设置复选框中某些项被选中
//vlu 的格式为 : 1,2,3
function setSelCheckbox(prefix,vlu)
{
var _arr = vlu.split(",");
if(_arr!="")
{
for(var i=0; i<_arr.length; i++)
{
getObject(prefix+_arr[i]).checked = true;
}
}
}
//快捷输入,fromObj:来源对象,toObjId:目标对象的ID,txt为true时取toObjId的innerHTML值
function fastInput(fromObj,toObjId,txt)
{
if(fromObj.value=='' || fromObj.value==0) return false;
txt = !txt ? false : txt;
var toObj = getObject(toObjId);
if(txt)
{
if(typeof (toObj.value) == 'undefined')
toObj.innerHTML = toTxt(fromObj.options[fromObj.selectedIndex].innerHTML);
else
toObj.value = toTxt(fromObj.options[fromObj.selectedIndex].innerHTML);
}else
{
if(typeof (toObj.value) == 'undefined')
toObj.innerHTML = fromObj.value;
else
toObj.value = fromObj.value;
}
}
/*
IE6,IE7上传图片前预览图片
IE6下还可以同时检测图片的大小
size 单位为KB
<style type="text/css"><!--
.newPreview
{
width:400px; height:300px;
FILTER: progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale)
}
.nodis{display:none;}
--></style><style type="text/css" bogus="1">
.newPreview
{
width:400px; height:300px;
FILTER: progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale)
}
.nodis{display:none;}</style>
<input type="file" name="litpic" onchange="PreviewImg(this,'newPreview','ndsPreview',400)" />
<div id="newPreview" class="newPreview"></div>
<img id="ndsPreview" class="nodis" />
*/
function PreviewImg(imgFile,newPreview,ndsPreview,size)
{
newPreview = getObject(newPreview);
if(!imgFile || !imgFile.value || !newPreview){return};
var patn = /\.jpg$|\.jpeg$|\.gif$|\.png$|\.bmp$/i;
if(patn.test(imgFile.value))
{
try{newPreview.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = imgFile.value;}catch(e){}
if(navigator.appVersion.indexOf("MSIE 6.0",0)>-1)
{
size=!size?0:size;
ndsPreview = getObject(ndsPreview);
if(ndsPreview)
{
try{ndsPreview.attachEvent("onreadystatechange", function(){checkImgSize(ndsPreview,size)})}catch(e){}
ndsPreview.src = imgFile.value;
}
}
}
else
{
alert("您选择的不是图像文件,请重新选择.");
}
}
function PreviewImgNow(imgDiv,imgFile)
{
try{getObject(imgDiv).filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = imgFile}catch(e){}
}
//上传之前检测图片的大小
//条件是在file改变时要触发函数将缩略图显示在img上
//size 单位为KB
function checkImgSize(img,size)
{
img = getObject(img);
if(img.readyState == "complete")
{
var limit = size * 1024;
if(img.fileSize > limit)
{
alert("出错!您上传的图片大小为"+(parseInt(img.fileSize/1024))+"KB,超过了"+size+"KB的限制,请重新上传");
return false
}else
return true;
}
return true;
}
//检测客户端环境
function ClientMentInfo()
{
var me = this;
var appVer = navigator.userAgent;
this.GetBrowserName = function (){
if(appVer.indexOf("MSIE")>0) return "IE";
else if(appVer.indexOf("Firefox")>0) return "Firefox";
else if(appVer.indexOf("Chrome")>0) return "Chrome";
else if(appVer.indexOf("Safari")>0) return "Safari";
else if(appVer.indexOf("Camino")>0) return "Camino";
else if(appVer.indexOf("Konqueror")>0) return "Konqueror";
else return "其它";
}
this.GetOSInfo = function (){
var _pf = navigator.platform;
if(_pf == "Win32" || _pf == "Windows")
{
if(appVer.indexOf("Windows NT 6.0") > -1 || appVer.indexOf("Windows Vista") > -1)
{
return 'Windows Vista';
}else if(appVer.indexOf("Windows NT 6.1") > -1 || appVer.indexOf("Windows 7") > -1)
{
return 'Windows 7';
}else
{
try{
var _winName = Array('2000','XP','2003');
var _ntNum = appVer.match(/Windows NT 5.\d/i).toString();
return 'Windows ' + _winName[_ntNum.replace(/Windows NT 5.(\d)/i,"$1")];
}catch(e){return 'Windows';}
}
}else if(_pf == "Mac68K" || _pf == "MacPPC" || _pf == "Macintosh")
{
return "Mac";
}else if(_pf == "X11")
{
return "Unix";
}else if(String(_pf).indexOf("Linux") > -1)
{
return "Linux";
}else
{
return "Unknow";
}
}
this.OS = me.GetOSInfo(); //操作系统类型
this.IeVer = null;
this.Bs_lang = (navigator.appName == 'Netscape'?navigator.language:navigator.browserLanguage);//浏览器语言版本
this.Bs_Name = me.GetBrowserName(); //浏览器名称
//浏览器版本
if(this.Bs_Name=='IE')
{
var _msie = appVer.match(/MSIE \d./i).toString();
this.Bs_Version = this.IeVer = _msie.replace(/MSIE (\d)./i,"$1");
}else
{
this.Bs_Version = appVer;
}
this.Ie6 = this.IeVer==6 ? true: false;
this.Ie7 = this.IeVer==7 ? true: false;
this.Ie8 = this.IeVer==8 ? true: false;
}
//客户端信息
var CMInfo = new ClientMentInfo();
//IE6 下缓存背景图片
if(CMInfo.Ie6)
{
document.execCommand("BackgroundImageCache", false, true);
}
//设置复选框全选或全不选
function setAllCheckbox(formName,objName,num)
{
if(formName)
_arr = getObject(formName).elements[objName];
else
_arr = typeof(objName)=="object"?objName:document.all(objName);
if(_arr)
{
if(num)
{
if (!_arr.length ) // 只有一个复选框,则length = undefined
_arr.checked = true;
else
{
for(var i=0; i<_arr.length; i++)
{
_arr[i].checked = true;
}
}
}else
{
if (!_arr.length ) // 只有一个复选框,则length = undefined
_arr.checked = false;
else
{
for(var i=0; i<_arr.length; i++)
{
_arr[i].checked = false;
}
}
}
}
}
//使当前页面跳到指定的页数页面
function goPage(pageNum,pageStr)
{
window.location.href = "?np="+pageNum+pageStr;
}
//分别去字符串前后,左边,右边空格
String.prototype.trim = function(){ return this.replace(/^\s+|\s+$/g,"")}
String.prototype.ltrim = function(){ return this.replace(/^\s+/g,"")}
String.prototype.rtrim = function(){ return this.replace(/\s+$/g,"")}

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/linyuanxing/archive/2008/12/01/3421058.aspx

注意globalPara.js本作者常用到的一些每个站自己的常用变量和常量的文件,如果你不需要这样的文件,可把
//加载公共变量的JS
loadjscssfile(JS_PATH+"globalPara.js");
这两句删掉,不然会报错。
(2009-06-04更新)
将 ClientMentInfo类改成了兼容IE6,IE7,IE8,Vista,Windows 7和Firefox