手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >一些常用的JS功能函数代码
一些常用的JS功能函数代码
摘要:复制代码代码如下://获取对象functiongetObject(objectId,top){doc=top?window.top.docu...

复制代码 代码如下:

//获取对象

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"><></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"></div>

<img id="ndsPreview" />

*/

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

【一些常用的JS功能函数代码】相关文章:

网页常用特效代码整理

angular2使用简单介绍

JavaScript常用函数工具集:lao-utils

光标定位等TextRange的操作的范例代码

AngularJS 最常用的功能汇总

简单实用的网页表格特效

一个特帅的展示图片的js+css

一些很实用且必用的小脚本代码第1/5页

特殊字符、常规符号及其代码对照表

一个很Cool的JS菜单效果

精品推荐
分类导航