摘自启点的main.js


Posted in Javascript onApril 20, 2008

String.prototype.trim = function()
{
    return this.replace(/(^\s*)|(\s*$)/g, "");
}

String.prototype.len=function()
{
    return this.replace(/[^\x00-\xff]/g,'aa').length;

function StringBuilder(value)
{
    this.strings = new Array("");
    this.append(value);
}

// Appends the given value to the end of this instance.
StringBuilder.prototype.append = function (value)
{
    if (value)
    {
        this.strings.push(value);
    }
}

// Clears the string buffer
StringBuilder.prototype.clear = function ()
{
    this.strings.length = 1;
}

// Converts this instance to a String.
StringBuilder.prototype.toString = function ()
{
    return this.strings.join("");
}

//string format prototype
// sample: var test="my name is {0} {2} " ;
//              alert(test.format('liang','zhonghua');
  if (!String._FORMAT_SEPARATOR){
        String._FORMAT_SEPARATOR = String.fromCharCode(0x1f);
        String._FORMAT_ARGS_PATTERN = new RegExp('^[^' + String._FORMAT_SEPARATOR + ']*'
            + new Array(100).join('(?:.([^' + String._FORMAT_SEPARATOR + ']*))?'));
    }
    if (!String.format)
    {
        String.format = function (s){
            return Array.prototype.join.call(arguments, String._FORMAT_SEPARATOR).
                replace(String._FORMAT_ARGS_PATTERN, s);
        }
    }
    if (!''.format)
    {
    String.prototype.format = function (){
        return (String._FORMAT_SEPARATOR +
            Array.prototype.join.call(arguments, String._FORMAT_SEPARATOR)).
            replace(String._FORMAT_ARGS_PATTERN, this);
    }
}
//end string format

function checkLoginByCookie()
{
    var cookieId="AUTHTEST";
    if(window.location.href.toLowerCase().indexOf("qidian.com") > -1)
    {
        cookieId="cmfuToken";
    }

    if((GetCookie(cookieId)!=null && GetCookie(cookieId).length > 0 ))
    {
        return true;
    }
    else
    {
        if(GetCookie('cmfu_al') != null && GetCookie('cmfu_al').length > 0)
        {
            return true;
        }
    }
    return false;
}

function  getUrlParam(name)
{   
    var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)","i");   
    var r = window.location.search.substr(1).match(reg);   
    if (r!=null)  
    {
        return   unescape(r[2]);
    }
    else
    {  
        return   null;   
    }
}  

function $(objName)
{

    if(document.getElementById)
    {
        return document.getElementById(objName );
    }
    else if(document.layers)
    {
        return eval("document.layers['" + objName +"']");
    }
    else
    {
        return eval('document.all.' + objName);
    }
}

function DateAdd(BaseDate, interval, DatePart)
{
 var dateObj = new Date(BaseDate.replace("-",","));
 var millisecond=1;
 var second=millisecond*1000;
 var minute=second*60;
 var hour=minute*60;
 var day=hour*24;
 var year=day*365;

 var newDate;
 var dVal = new Date(dateObj)
 var dVal=dVal.valueOf();
 switch(DatePart)
 {
  case "ms": newDate=new Date(dVal+millisecond*interval); break;
  case "s": newDate=new Date(dVal+second*interval); break;
  case "mi": newDate=new Date(dVal+minute*interval); break;
  case "h": newDate=new Date(dVal+hour*interval); break;
  case "d": newDate=new Date(dVal+day*interval); break;
  case "y": newDate=new Date(dVal+year*interval); break;
  default: return escape("日期格式不对");
 }
 newDate = new Date(newDate);
 return newDate.getFullYear() + "-" + (newDate.getMonth() + 1) + "-" + newDate.getDate() ; 
}

//增加当前日期的天数
Date.prototype.AddDays=function (interval)
{
     var dateObj = this;
 var millisecond=1;
 var second=millisecond*1000;
 var minute=second*60;
 var hour=minute*60;
 var day=hour*24;
 var year=day*365;

 var newDate;
 var dVal = new Date(dateObj)
 var dVal=dVal.valueOf();

  newDate=new Date(dVal+day*interval); 

 newDate = new Date(newDate);
 return newDate
}

function SetCookie(name, value)
{

var argv = SetCookie.arguments;

    var argc = SetCookie.arguments.length;

    var expires = (argc > 2) ? argv[2].toGMTString() : (new Date()).AddDays(30).toGMTString();;

    var path = (argc > 3) ? argv[3] : "/";

    var domain = (argc > 4) ? argv[4] : null;

    var secure = (argc > 5) ? argv[5] : false;

   
    var content = name + "=" + escape(value) + ";";
    if(expires != null)
    {
        content += " expires=" + expires + ";";
    }
    if(path != null)
    {
        content += " path=" + path + ";";
    }
    if(domain != null)
    {
        content += " domain=" + domain + ";";
    }

    
    document.cookie = content;

}

function GetCookie(cookieName) 
{
    var cookieString = document.cookie;

    var start = cookieString.indexOf(cookieName + '=');

    

    // 加上等号的原因是避免在某些 Cookie 的值里有
    // 与 cookieName 一样的字符串。

    if (start == -1) // 找不到
    return null;

    start += cookieName.length + 1;
    var end = cookieString.indexOf(';', start);
    if (end == -1) return unescape(cookieString.substring(start));
    return unescape(cookieString.substring(start, end));
}

/*文本框得到焦点*/
function TextBoxOnFocus(txtControl,strDefaultText)
{
    if (txtControl.value==strDefaultText)
        txtControl.value="";
}
/*文本框失去焦点*/
function TextBoxOnBlur(txtControl,strDefaultText)
{
    if (txtControl.value.replace(/(^[\s]*)|([\s]*$)/g,"")=="")
        txtControl.value=strDefaultText;
}

/*功能:弹出群发消息窗口*/
function MultiSendWin(subject,content)
{
    var win =window.open(uploadURL+"?subject=" + subject + "&content=" +content,"","menubar=no,width=480,height=550,resizeable=no","");
    return false;
}

/*功能:弹出留言窗口
function SpaceSendMsg(toUserId)
{
    var win =window.open(spaceSendMsgURL+"?toUserId=" + toUserId,"","menubar=no,width=500,height=400,resizeable=no","");
    return false;
}
*/

function ShowServerMessage(result)
{
    eval(result.value);
}

//回车提交表单
function KeydownSubmitForm(btnId)
{
    var btn=document.getElementById(btnId);
    if (btn!=null&& event.keyCode== 13)
    {
         event.returnValue=false;
         event.keyCode=9;
         btn.click();  
    }  
}  

//ReadChapter -抵用券js
function MDown(Object){
    Obj=Object.id
    document.all(Obj).setCapture()
    pX=event.x-document.all(Obj).style.pixelLeft;
    pY=event.y-document.all(Obj).style.pixelTop;
}

function MMove(){
    if(Obj!=''){
        document.all(Obj).style.left=event.x-pX;
        document.all(Obj).style.top=event.y-pY;
    }
}

function MUp(){
    if(Obj!=''){
        document.all(Obj).releaseCapture();
        Obj='';
    }
}

//关闭抵用券信息
function LayerClose(divDiscount){
    document.getElementById(divDiscount).style.visibility="hidden";
}

//显示抵用券信息
function LayerShow(divDiscount,discountPrize){
    var prizeUI = document.getElementById(divDiscount);
    prizeUI.style.left = screen.width-530;
    prizeUI.style.top = screen.Height - 480;
    prizeUI.style.visibility="visible";

    document.getElementById("lblPrize1").innerHTML=discountPrize;
    document.getElementById("lblPrize2").innerHTML=discountPrize;
    window.setInterval("LayerClose('" + divDiscount + "')",15000);
}

//帮助masterpage用
function HideMenu(menuid)
{
    var obj = document.getElementById(menuid);
    if(obj.style.display == "none")
    {
        obj.style.display = "";
    }
    else
    {
        obj.style.display = "none";
    }

    if(obj.style.display == "")
    {
        var tmpId = "M0";
        for(var i  = 1 ; i <= 9; i++)
        {
            var myid = tmpId + i;
            if(myid != menuid)
            {
                document.getElementById(myid).style.display = "none";
            }
        }
    }
}

/* div login */
function ShowLoginDiv()
{
    var builder = new StringBuilder();
    builder.append("<table border='0' cellpadding='0' cellspacing='0'>");
    builder.append("<tr class='TitleTR'>");
    builder.append("<td align='left'>");
    builder.append("登录");
    builder.append("</td>");
    builder.append("<td align='right'>");
    builder.append("<span title='关闭' onclick='HideLoginMask();'>×</span>");
    builder.append("</td>");
    builder.append("</tr>");
    builder.append("<tr>");
    builder.append("<td colspan='2'>");
    builder.append("<iframe src='/DivUserLogin.aspx' width='225px' height='125px' name='loginFrame' ");//src=''
    builder.append("id='loginFrame' frameborder='0' scrolling='no'></iframe>");
    builder.append("</td>");
    builder.append("</tr>");
    builder.append("</table>");    
    //window.top.scrollTo(0,0);
    document.getElementById("DivMask").style.height=document.body.scrollHeight;
    document.getElementById("DivMask").style.width=document.body.scrollWidth;
    document.getElementById("DivMask").style.display = 'block';                
    document.getElementById("DivLogin").style.display = "block";
    document.getElementById("DivLogin").innerHTML = builder.toString();
    ScrollDiv();  
    window.onscroll=ScrollDiv;
    window.onresize=ScrollDiv;
    window.onload=ScrollDiv; 

function HideLoginMask()
{
    document.getElementById("DivMask").style.display="none";
    document.getElementById("DivLogin").style.display="none";
}        
/*随屏幕滚动*/
function ScrollDiv()
{
  if($("DivLogin"))
  {
    document.getElementById("DivLogin").style.top=(document.body.scrollTop+
    (document.body.clientHeight-document.getElementById("DivLogin").offsetHeight)/2)+"px";

    document.getElementById("DivLogin").style.left=(document.documentElement.scrollLeft+
    (document.body.clientWidth-document.getElementById("DivLogin").offsetWidth)/2)+"px";

   }

  if($("AddMark"))
  {
//  if(!event )
//        return;

    $("AddMark").style.top=document.body.clientHeight + document.body.scrollTop-200
    $("AddMark").style.left=document.body.clientWidth-56;
     $("AddMark").style.display=''; 

   // (document.body.clientHeight-$("AddMark").offsetHeight)/2)+"px";
   if($("MonthVoteTip"))
   {
    //$("MonthVoteTip").style.top=document.body.scrollTop+document.body.clientHeight-$("MonthVoteTip").offsetHeight+"px";
   $("MonthVoteTip").style.top = getPosition($("AddMark")).y - $("AddMark").offsetHeight + "px";
   }
  }

}
function AutoScroll()
{

    window.onscroll=ScrollDiv;
    window.onresize=ScrollDiv;
   window.onload=ScrollDiv; 
}

function getPosition(el)
{
for (var lx=0,ly=0;el!=null;lx+=el.offsetLeft,ly+=el.offsetTop,el=el.offsetParent);
return {x:lx,y:ly}
}

/* 2007-11-28 XuJian */
//截取字符串 包含中文处理
//(串,长度,增加...)
function subString(str, len, hasDot)
{
    var newLength = 0;
    var newStr = "";
    var chineseRegex = /[^\x00-\xff]/g;
    var singleChar = "";
    var strLength = str.replace(chineseRegex,"**").length;
    for(var i = 0;i < strLength;i++)
    {
        singleChar = str.charAt(i).toString();
        if(singleChar.match(chineseRegex) != null)
        {
            newLength += 2;
        }    
        else
        {
            newLength++;
        }
        if(newLength > len)
        {
            break;
        }
        newStr += singleChar;
    }

    if(hasDot && strLength > len)
    {
        newStr += "...";
    }
    return newStr;
}

/* 2007-10-26 14:20 Get String Lenth(include chinese character) */
function GetStringLength(strObj)
{
    return strObj.replace(/[^\x00-\xff]/g,"**").length;
}

function addMark(title,url) {
try{
if (window.sidebar) { 
window.sidebar.addPanel(title, url,""); 
} else if( document.all ) {
window.external.AddFavorite( url, title);
} else if( window.opera && window.print ) {
return true;
}
}catch(e)
{
    alert("您的浏览器安全设置不允许该项操作")
}
}

Javascript 相关文章推荐
常用js脚本
Dec 03 Javascript
jQuery MD5加密实现代码
Mar 15 Javascript
JS 遮照层实现代码
Mar 31 Javascript
jquery数组过滤筛选方法grep()简介
Jun 06 Javascript
第六篇Bootstrap表格样式介绍
Jun 21 Javascript
AngularJS 单元测试(一)详解
Sep 21 Javascript
JavaScript使用Range调色及透明度实例
Sep 25 Javascript
Bootstrap模态框使用详解
Feb 15 Javascript
详解ES6之async+await 同步/异步方案
Sep 19 Javascript
原生JavaScript实现Ajax异步请求
Nov 19 Javascript
对angular2中的ngfor和ngif指令嵌套实例讲解
Sep 12 Javascript
使用Vue3+Vant组件实现App搜索历史记录功能(示例代码)
Jun 09 Vue.js
不懂JavaScript应该怎样学
Apr 16 #Javascript
JavaScript修改css样式style
Apr 15 #Javascript
javascript的键盘控制事件说明
Apr 15 #Javascript
关于document.cookie的使用javascript
Apr 11 #Javascript
javascript比较文档位置
Apr 08 #Javascript
js函数般调用正则
Apr 08 #Javascript
javascript背投广告代码的完善
Apr 08 #Javascript
You might like
星际争霸 Starcraft 编年史
2020/03/14 星际争霸
PHP使用SOAP扩展实现WebService的方法
2016/04/01 PHP
PHP list() 将数组中的值赋给变量的简单实例
2016/06/13 PHP
详解PHP实现支付宝小程序用户授权的工具类
2018/12/25 PHP
Laravel框架基于中间件实现禁止未登录用户访问页面功能示例
2019/01/17 PHP
jQuery select控制插件
2009/08/17 Javascript
使用js操作css实现js改变背景图片示例
2014/03/10 Javascript
Jquery焦点与失去焦点示例应用
2014/06/10 Javascript
用jQuery向div中添加Html文本内容的简单实现
2016/07/13 Javascript
微信小程序实现给循环列表添加点击样式实例
2017/04/26 Javascript
详解nodejs模板引擎制作
2017/06/14 NodeJs
python模拟登陆Tom邮箱示例分享
2014/01/13 Python
Python脚本实现集群检测和管理功能
2015/03/06 Python
Python线程中对join方法的运用的教程
2015/04/09 Python
基于Linux系统中python matplotlib画图的中文显示问题的解决方法
2017/06/15 Python
详解 Python中LEGB和闭包及装饰器
2017/08/03 Python
Python3学习笔记之列表方法示例详解
2017/10/06 Python
删除DataFrame中值全为NaN或者包含有NaN的列或行方法
2018/11/06 Python
详解Pandas之容易让人混淆的行选择和列选择
2019/07/10 Python
对python3中的RE(正则表达式)-详细总结
2019/07/23 Python
ansible-playbook实现自动部署KVM及安装python3的详细教程
2020/05/11 Python
python使用for...else跳出双层嵌套循环的方法实例
2020/05/17 Python
python matplotlib工具栏源码探析二之添加、删除内置工具项的案例
2021/02/25 Python
BISSELL官网:北美吸尘器第一品牌
2019/03/14 全球购物
美国最大的户外装备和服装购物网站:Backcountry
2019/10/15 全球购物
浪漫婚礼主题活动策划方案
2014/09/15 职场文书
学生打架检讨书
2014/10/20 职场文书
2014年安全工作总结范文
2014/11/13 职场文书
2015年销售人员工作总结
2015/04/07 职场文书
活动经费申请报告
2015/05/15 职场文书
第一节英语课开场白
2015/06/01 职场文书
Java方法重载和方法重写的区别到底在哪?
2021/06/11 Java/Android
MySQL中IF()、IFNULL()、NULLIF()、ISNULL()函数的使用详解
2021/06/26 MySQL
Go语言基础map用法及示例详解
2021/11/17 Golang
MySQL时区造成时差问题
2022/04/13 MySQL
mysql性能优化以及配置连接参数设置
2022/05/06 MySQL