/* $ 获取指定对象
@element 对象名
可以使用对象名集合,返回值为对象的集合
如果您使用了 Prototype 类库, 请把该函数注释掉
Sams_object.Get() 中同样实现该函数的所有功能
*/
function $(element) {
if (arguments.length > 1) {
for (var i = 0, elements = [], length = arguments.length; i elements.push($(arguments[i]));
return elements;
}
if (typeof element == 'string')
element = document.getElementById(element);
return element;
}
/// 浏览器相关操作
var Sams_browse = {
/* 检测浏览信息 */
checkBrowser : function ()
{
this.ver=navigator.appVersion
this.dom=document.getElementById?1:0
this.ie6=(this.ver.indexOf("MSIE 6")>-1 && this.dom)?1:0;
this.ie5=(this.ver.indexOf("MSIE 5")>-1 && this.dom)?1:0;
this.ie4=(document.all && !this.dom)?1:0;
this.ns5=(this.dom && parseInt(this.ver) >= 5) ?1:0;
this.ns4=(document.layers && !this.dom)?1:0;
this.mac=(this.ver.indexOf('Mac') > -1) ?1:0;
this.ope=(navigator.userAgent.indexOf('Opera')>-1);
this.ie=(this.ie6 || this.ie5 || this.ie4)
this.ns=(this.ns4 || this.ns5)
this.bw=(this.ie6 || this.ie5 || this.ie4 || this.ns5 || this.ns4 || this.mac || this.ope)
this.nbw=(!this.bw)
return this;
},
/* 设为首页
@url 要设为首页的地址
*/
SetDefault : function ()
{
this.style.behavior='url(#default#homepage)';
this.setHomePage(this.GetUrl());
return false;
},
/* 复制指定URL地址
@Msg 要写入剪贴板的字符集
*/
SetCopy : function (Msg){
if(navigator.userAgent.toLowerCase().indexOf('ie') > -1) {
clipboardData.setData('Text',Msg);
alert ("网址“"+Msg+"”
已经复制到您的剪贴板中
您可以使用Ctrl+V快捷键粘贴到需要的地方");
}
else
{
prompt("请复制网站地址:",Msg);
}
},
/* 加入收藏
@site 站点名称
@url 地址
*/
AddBookmark : function (site, url){
if(navigator.userAgent.toLowerCase().indexOf('ie') > -1) {
window.external.addFavorite(url,site)
} else if (navigator.userAgent.toLowerCase().indexOf('opera') > -1) {
alert ("请使用Ctrl+T将本页加入收藏夹");
} else {
alert ("请使用Ctrl+D将本页加入收藏夹");
}
},
/* 打开Url指定宽度和高度的窗口 */
OpenWindows : function (url,width,height)
{
window.open(url,'newwin','width='+width+',height='+height);
return false;
},
/* 禁止浏览器的Javascript错误提示 */
CloseError : function(){
window.onerror = function(){return true;};
},
/* 获取浏览器URL */
GetUrl : function(){
return location.href;
},
/* 获取URL参数 */
GetUrlParam : function(){
return location.search;
},
/* 获取页面来源 */
GetFrom : function(){
return document.referrer;
},
/* 获取指定的URL参数值
@name 参数名
*/
Request : function(name){
var GetUrl = this.GetUrl();
var Plist = new Array();
if(GetUrl.indexOf('?') > 0)
{
Plist = GetUrl.split('?')[1].split('&');
}
else if(GetUrl.indexOf('#') > 0)
{
Plist = GetUrl.split('#')[1].split('&');
}
if (GetUrl.length > 0)
{
for(var i=0; i
{ var GetValue = Plist[i].split('='); if (GetValue[0].toUpperCase() == name.toUpperCase()) { return GetValue[1]; break; } } return; } }, /* 直接将HTML写到新窗口 @title 标题 @msg 内容 */ Popmsg : function PopIt(title,msg) { var popup = window.open('','popDialog','height=500,width=400,scrollbars=yes'); popup.document.write(''+title+' '+msg + ' '); popup.document.close(); } }; /// 对象操作 var Sams_object = { /* 创建一个DIV对象 @ID 要创建的对象ID @ClassName 创建对象的Class @SetValue 设置该对象值 @ToDiv 将对象追加到指定的对象,如指定的对象不存在,则追加在Body的后面 返回 创建后的对象 */ CreateDiv : function (ID,ClassName,SetValue,ToDiv){ var creatediv = document.createElement('div'); if(ID != null) creatediv.id = ID; creatediv.style.position = 'absolute'; if(ClassName != null) creatediv.className = ClassName; if(this.Get(ToDiv)) { this.Get(ToDiv).appendChild(creatediv); } else { document.getElementsByTagName('body')[0].appendChild(creatediv); } this.SetValue(ID,SetValue); return this.Get(ID); }, /* 删除指定DIV对象 @objid 要删除的对象ID 返回 Bool 操作结果 */ DeleteDiv : function (objid) { try { if(this.Get(objid)) { var GetParent = this.Get(objid).parentNode; GetParent.removeChild(this.Get(objid)); return true; } else { return false; } } catch(e) { return false; } }, /* 获取浏览器对象 @id 要获取的对象ID 可以使用对象名集合,返回值为对象的集合 */ Get : function (objid) { if (arguments.length > 1) { for (var i = 0, objids = [], length = arguments.length; i objids.push(this.Get(arguments[i])); return objids; } if (typeof objid == 'string') { if (document.getElementById) { objid = document.getElementById(objid); } else if (document.all) { objid = document.all[objid]; } else if (document.layers) { objid = document.layers[objid]; } } return objid; }, /* 获取对象的值 @objid 对象ID */ GetValue : function (objid) { if (typeof objid == 'string') { var getTagName = this.Get(objid).tagName.toLowerCase(); if (getTagName == 'input' || getTagName == 'textarea' || getTagName == 'select') { return this.Get(objid).value; } else if (getTagName == 'div' || getTagName == 'span') { return this.Get(objid).innerText; } } else if (typeof objid == 'object') { return objid.value; } }, /* 设置指定对象的值,实现可以直接赋值或清除操作 @objid 对象ID @inserValue 传入值(可选项 Null:清除该ID的值, 则直接赋值) */ SetValue: function(objid,inserValue) { var getTagName = this.Get(objid).tagName.toLowerCase(); if (inserValue == null) inserValue = ''; if (getTagName == 'input' || getTagName == 'textarea') { this.Get(objid).value = inserValue; } else if (getTagName == 'div' || getTagName == 'sapn') { this.Get(objid).innerText = inserValue; } }, /* 拷贝对象值到剪贴板 @str 对象值 */ CopyCode : function (str) { var rng = document.body.createTextRange(); rng.moveToElementText(str); rng.scrollIntoView(); rng.select(); rng.execCommand("Copy"); rng.collapse(false); }, /* 显示隐藏一个对象 @Objid 对象ID @isshow 具体操作,指定Obj为False : none或者True : block (可选) */ ShowHidd : function(objid,isshow){ if (isshow != null) { if(isshow) { this.Get(objid).style.display = 'block'; } else { this.Get(objid).style.display = 'none'; } } else { if(this.Get(objid).style.display == 'none') { this.Get(objid).style.display = 'block'; } else { this.Get(objid).style.display = 'none'; } } }, /* 当前对象是否可见 @objid 对象ID */ IsVisible : function(objid){ if(this.Get(objid)) { try { if (this.Get(objid).style.display == 'none') { return false } if(this.Get(objid).style.visibility == 'hidden') { return false; } return true; } catch(e) { return false; } } else { return false; } } }; /// 字符处理 var Sams_string = { /* 取左边的指定长度的值 @str 要处理的字符集 @n 长度 */ Left : function (str,n) { if(str.length > 0) { if(n>str.length) n = str.length; return str.substr(0,n) } else { return; } }, /* 取右边的指定长度的值 @str 要处理的字符集 @n 长度 */ Right : function (str,n) { if(str.length > 0) { if(n>=str.length) return str; return str.substr(str.length-n,n); } else { return; } }, /* Trim:清除两边空格 @str 要处理的字符集 */ Trim : function (str) { if (typeof str == 'string') return str.replace(/(^\s*)|(\s*$)/g, ''); }, /* LTrim:清除左边的空格 @str 要处理的字符集 */ Ltrim : function (str) { if (typeof str == 'string') return str.replace(/(^\s*)/g, ''); }, /* RTrim: 清除右边的空格 @str 要处理的字符集 */ Rtrim : function (str) { if (typeof str == 'string') return str.replace(/(\s*$)/g, ''); }, /* 清除前后的非字符 @str 要处理的字符集 */ strip : function(str) { if (typeof str == 'string') return str.replace(/^\s+/, '').replace(/(^\s*)|(\s*$)/g, ''); }, /* 过滤字符里面的HTML标签 @str 要处理的字符集 */ stripTags : function(str) { if (typeof str == 'string')return str.replace(/]+>/gi, '').replace(/(^\s*)|(\s*$)/g, ''); } }; /// 时间相关操作 var Sams_time = { /* 获取当天日期 yyyy-MM-dd */ GetDateNow : function (){ var d,y,m,dd; d = new Date(); y = d.getYear(); m = d.getMonth() + 1; dd = d.getDate(); return y+"-"+m+"-"+dd; }, /* 获取指定日期后的特定天数的日期值 @toDate 当前指定的日期 @N 要添加的日期数 */ AddDays : function(toDate,N){ var aDate=this._cvtISOToDate(toDate); if (!aDate) return ""; var millis=86400000 * N; aDate=new Date(aDate.getTime()+millis); return this._fmtDateISO(aDate); }, _fmtDateISO : function (aDate) { with (aDate) { var mm=getMonth()+1; if (mm var dd=getDate(); if (dd return (getFullYear() + '-' + mm + '-' + dd); } }, _cvtISOToDate : function (isoDate) { var atomDate= isoDate.split('-'); var aDate=new Date(parseInt(atomDate[0],10),parseInt(atomDate[1],10)-1,parseInt(atomDate[2],10),6,0,0); return aDate; } }; /// 图像相关操作 var Sams_media = { /* 为单一图像添加鼠标中键放大缩小功能, 批量可以直接用 ResizeImage(指定添加该功能的图片大小:Int) 即可 (该功能只适用于IE) objid 对象ID */ ZoomFun : function(objid){ Sams_object.Get(objid).onmousewheel = function(){return Sams_media.imagecontrol(this);} }, /* 重置图片尺寸同时添加放大功能 (该功能只适用于IE) @IntSize 指定图像的大小 如果适合图像大小就添加放大缩小功能 */ ResizeImage: function (IntSize) { var imgsinlog=document.getElementsByTagName('img'); for(j=0; j if (imgsinlog[j].width >= IntSize) { imgsinlog[j].width = IntSize; imgsinlog[j].style.cursor= 'pointer'; imgsinlog[j].onclick = function() {window.open(this.src);} if (navigator.userAgent.toLowerCase().indexOf('ie') > -1) { imgsinlog[j].title = '您可以用鼠标中键或者使用Ctrl+鼠标滚轮缩放图片,点击图片可在新窗口打开'; imgsinlog[j].onmousewheel = function(){return Sams_media.imagecontrol(this);}; } else { imgsinlog[j].title = '点击图片可在新窗口打开'; } } } }, imagecontrol : function(obj){ var zoom=parseInt(obj.style.zoom, 10)||100;zoom+=event.wheelDelta/12; if (zoom>0) obj.style.zoom=zoom+'%'; return false; }, /* 如果图像出现下载不了等异常,显示的错误提示图片 @errimgpath 显示错误提示的图像路径 */ ImagesError : function(errimgpath){ var imglist = document.getElementsByTagName('img'); for(j=0; j imglist[j].onerror = function(){ this.src = errimgpath; } } }, /* 显示媒体 @mFile 文件路径 @mFileType 文件类型(可为空,如为Flash,要指定为swf类型) @ObjID 对象ID @mWidth 显示的对象宽度 @mHeight 显示对象的高度 注: 可以指定对象的ID, 如果ID不存在,会自动创建,追加在Body后面 */ ShowMedia : function (mFile, mFileType, ObjID, mWidth, mHeight) { var mediaStr; switch(mFileType){ case "swf": mediaStr="
"; break; default : mediaStr="
"; } var mediaDiv = Sams_object.Get(ObjID); if (mediaDiv) { mediaDiv.innerHTML = mediaStr; } else { mediaDiv = document.createElement("div"); mediaDiv.id = ObjID; mediaDiv.innerHTML = mediaStr; document.getElementsByTagName('body')[0].appendChild(mediaDiv); } return false; } }; /// 样式相关操作 var Sams_style = { /* 改变字体大小 @objid 对象ID @size 字号 */ doZoom : function (objid,size){ Sams_object.Get(objid).style.fontSize=size+'px'; }, /* 改变指定对象样式 @objid 对象ID @className 要更改的ClassName */ ClassName: function(objid, className) { Sams_object.Get(objid).className = className; }, /* 对象定位 @obj 要定位的对象 返回 X.Y 结果的数组对象 */ GotoXY : function (obj) { var t=obj.offsetTop; var l=obj.offsetLeft; while(obj=obj.offsetParent){ t+=obj.offsetTop; l+=obj.offsetLeft; } return Array(t,l); } }; /// 科学计算 var Sams_account = { /* 逢1进10计算 @ 数值 */ GetTen: function (i) { var items_One,Get_One; if (i.length > 1&& (/^\d+$/.test(i))) { items_One = i.substr(0,i.length-1); Get_One = i.substr(i.length-1,1); if (parseInt(Get_One)>0) { items_One = parseInt(items_One)+1; items_One = items_One + '0'; } else { items_One = items_One + '0'; } } else { items_One = i; } return items_One; } }; /// 数据验证(所有数值返回值均为Bool型) var Sams_validate = { /* 是否是数字型数据 @str 字符集 */ IsNumber : function(str){ if (/^\d+$/.test(str)){return true;}else{return false;} }, /* 是否是数字型数据 @objid 对象ID */ IsNumberObj : function(objid){ return this.IsNumber(Sams_object.GetValue(objid)); }, /* 是否是自然数型数据 @str 字符集 */ IsInt : function(str){ if (/^(\+|-)?\d+$/.test(str)){return true;}else{return false;} }, /* 是否是自然数型数据 @objid 对象ID */ IsIntObj : function(objid){ return this.IsInt(Sams_object.GetValue(objid)); }, /* 是否是中文字符 @str 字符集 */ IsChinese : function(str) { if (/^[\u4e00-\u9fa5]+$/.test(str)){return true;}else{return false;} }, /* 是否是中文字符 @objid 对象ID */ IsChineseObj : function(objid) { return this.IsChinese(Sams_object.GetValue(objid)); }, /* 是否为英文字母 @str 字符集 */ IsLower : function(str) { if (/^[A-Za-z]+$/.test(str)){return true}else{return false;} }, /* 是否为英文字母 @objid 对象ID */ IsLowerObj : function(objid) { return this.IsLower(Sams_object.GetValue(objid)); }, /* 是否为正确的网址 @str 字符集 */ IsUrl : function(str) { var myReg = /^((http:[/][/])?\w+([.]\w+|[/]\w*)*)?$/; if(myReg.test(str)){return true;}else{return false;} }, /* 是否为正确的网址 @objid 对象ID */ IsUrlObj : function(objid) { return this.IsUrl(Sams_object.GetValue(objid)); }, /* 是否为正确的Email形式 @str 字符集 */ IsEmail : function(str) { var myReg = /^([-_A-Za-z0-9\.]+)@([_A-Za-z0-9]+\.)+[A-Za-z0-9]{2,3}$/; if(myReg.test(str)){return true;}else{return false;} }, /* 是否为正确的Email形式 @objid 对象ID */ IsEmailObj : function(objid) { return this.IsEmail(Sams_object.GetValue(objid)); }, /* 是否为正确的手机号码 @str 字符集 */ IsMobile : function(str) { var regu =/(^[1][3][0-9]{9}$)|(^0[1][3][0-9]{9}$)/; var re = new RegExp(regu); if (re.test(str)){return true;}else{return false;} }, /* 是否为正确的手机号码 @objid 对象ID */ IsMobileObj : function(objid) { return this.IsMobile(Sams_object.GetValue(objid)); } }; /* 实现Ajax功能 Sams_ajax.SendRequest('GET', url, null, recall, "addtohome"); Sams_ajax.SendRequest('GET', url, null, null); obj.responseText; */ var Sams_ajax = { _objPool: [], _getInstance: function (){ for (var i = 0; i if (this._objPool[i].readyState == 0 || this._objPool[i].readyState == 4){ return this._objPool[i]; } } this._objPool[this._objPool.length] = this._createObj(); return this._objPool[this._objPool.length - 1]; }, _createObj : function (){ if (window.XMLHttpRequest){ var objXMLHttp = new XMLHttpRequest(); } else{ var MSXML = ['MSXML2.XMLHTTP.5.0', 'MSXML2.XMLHTTP.4.0', 'MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP', 'Microsoft.XMLHTTP']; for(var n = 0; n try{ var objXMLHttp = new ActiveXObject(MSXML[n]); break; } catch(e){ } } } if (objXMLHttp.readyState == null){ objXMLHttp.readyState = 0; objXMLHttp.addEventListener("load", function (){ objXMLHttp.readyState = 4; if (typeof objXMLHttp.onreadystatechange == "function"){ objXMLHttp.onreadystatechange(); } }, false); } return objXMLHttp; }, /// 开始发送请求 SendRequest : function (method, url, data, callback,funparam,funparam2){ var objXMLHttp = this._getInstance(); with(objXMLHttp){ try{ if (url.indexOf("?") > 0){ url += "&randnum=" + Math.random(); } else{ url += "?randnum=" + Math.random(); } open(method, url, true); setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8'); send(data); onreadystatechange = function (){ if (objXMLHttp.readyState == 4 && (objXMLHttp.status == 200 || objXMLHttp.status == 304)) { callback(objXMLHttp,funparam,funparam2); }else{ callback(null,funparam,funparam2); } } } catch(e){ alert(e); } } } }; /// Cookies操作 var Sams_cookies = { /* cookies设置函数 @name Cookies名称 @value 值 */ setCookie : function (name, value) { try { var argv = setCookie.arguments; var argc = setCookie.arguments.length; var expires = (argc > 2) ? argv[2] : null; if(expires!=null) { var LargeExpDate = new Date (); LargeExpDate.setTime(LargeExpDate.getTime() + (expires*1000*3600*24)); } document.cookie = name + "=" + escape (value)+((expires == null) ? "" : ("; expires=" +LargeExpDate.toGMTString())); return true; } catch(e) { return false; } }, /* cookies读取函数 @Name Cookies名称 返回值 Cookies值 */ getCookie : function (Name) { var search = Name + "=" if(document.cookie.length > 0) { offset = document.cookie.indexOf(search) if(offset != -1) { offset += search.length end = document.cookie.indexOf(";", offset) if(end == -1) end = document.cookie.length return unescape(document.cookie.substring(offset, end)) } else { return; } } } };