Home  >  Article  >  Web Front-end  >  Main.js_javascript tips taken from Qidian

Main.js_javascript tips taken from Qidian

WBOY
WBOYOriginal
2016-05-16 19:05:031250browse

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 '=');



// The reason for adding the equal sign is to avoid having
// the same string as cookieName in some Cookie values.

if (start == -1) // Not found
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));
}


/*Text box gets focus*/
function TextBoxOnFocus(txtControl,strDefaultText)
{
if (txtControl.value==strDefaultText)
txtControl.value="";
}
/*The text box loses focus*/
function TextBoxOnBlur(txtControl,strDefaultText)
{
if (txtControl.value.replace(/(^[s]*)|( [s]*$)/g,"")=="")
txtControl.value=strDefaultText;
}


/*Function: Pop-up group message window*/
function MultiSendWin(subject,content)
{
var win =window.open(uploadURL "?subject=" subject "&content=" content,"","menubar=no,width=480,height= 550,resizeable=no","");
return false;
}


/*Function: Pop-up message window
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);
}

//Press enter to submit the form
function KeydownSubmitForm(btnId)
{
var btn=document.getElementById(btnId);
if (btn!=null&& event.keyCode== 13)
{
event.return Value= false;
event.keyCode=9;
btn.click();
}
}

//ReadChapter - Voucher 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='';
}
}

//Close capture Coupon information
function LayerClose(divDiscount){
document.getElementById(divDiscount).style.visibility="hidden";
}

//Display coupon information
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);
}

//Help masterpage use
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         {
            var myid = tmpId   i;
            if(myid != menuid)
            {
                document.getElementById(myid).style.display = "none";
            }
        }
    }
}

/* div login */
function ShowLoginDiv()
{
    var builder = new StringBuilder();
    builder.append("

");
");
    builder.append("");
    builder.append("");
    builder.append("");
    builder.append("");
    builder.append("");
    builder.append("");
    builder.append("");
    builder.append("
");
    builder.append("登录");
    builder.append("
");
    builder.append("×");
    builder.append("
");
    builder.append("");
    builder.append("
    builder.append("");     builder.append("");     builder.append("登录");     builder.append("");     builder.append("");     builder.append("×");     builder.append("");     builder.append("");     builder.append("");     builder.append("");     builder.append("");     builder.append("");     builder.append("");     builder.append("");    
    //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     {
        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 문자열 길이 가져오기(한자 포함) */
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("브라우저 보안 설정에서 이 작업을 허용하지 않습니다.")
}
}
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn