rss· 投稿· 设为首页· 加入收藏· 繁體版
当前位置: 火魔网 » 程序开发 » Javascript

javaScript常用类库(2)

// 图像相关操作
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_r('img');
  for(j=0; j<imgsinlog.length; 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_r('img');
  for(j=0; j<imglist.length; 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="<object codeBase='http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0' classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' width='"+mWidth+"' height='"+mHeight+"'><param name='movie' value='"+mFile+"'><param name='quality' value='high'><param name='AllowScriptAccess' value='never'><embed src='"+mFile+"' quality='high' pluginspage='http://www.macromedia.com/go/getflashplayer' type='application/x-shockwave-flash' width='"+mWidth+"' height='"+mHeight+"'></embed></OBJECT>";
    break;
   default :
    mediaStr="<object width='"+mWidth+"' height='"+mHeight+"' classid='CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6'><param name='url' value='"+mFile+"' /><embed width='"+mWidth+"' height='"+mHeight+"' type='application/x-mplayer2' src='"+mFile+"'></embed></object>";
  }
  
  var mediaDiv = Sams_object.Get(ObjID);
  
  if (mediaDiv) {
   mediaDiv.innerHTML = mediaStr;
  }
  else
  {
   mediaDiv = document.createElement("div");
   mediaDiv.id = ObjID;
   mediaDiv.innerHTML = mediaStr;
   document.getElementsByTagName_r('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 < this._objPool.length; 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 < MSXML.length; 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;
   }
  }
 }
顶一下
(0)
踩一下
(0)