>  기사  >  웹 프론트엔드  >  Qidian에서 가져온 Main.js_javascript 팁

Qidian에서 가져온 Main.js_javascript 팁

WBOY
WBOY원래의
2016-05-16 19:05:031245검색

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);
}

// 주어진 값을 이 인스턴스의 끝에 추가합니다.
StringBuilder.prototype.append = 함수 (값)
{
    if (값)
    {
        this.strings.push(값);
    }
}

// 문자열 버퍼 삭제
StringBuilder.prototype.clear = function ()
{
    this.strings.length = 1;
}

// 이 인스턴스를 문자열로 변환합니다.
StringBuilder.prototype.toString = function ()
{
    return this.strings.join("");
}

//문자열 형식 프로토타입
// 샘플: var test="내 이름은 {0} {2} " ;
//             alert(test.format('liang','zhonghua');
  if (!String._FORMAT_SEPARATOR){
        String._FORMAT_SEPARATOR = String.fromCharCode(0x1f);
        문자열. _FORMAT_ARGS_PATTERN = new RegExp('^[^'   String._FORMAT_SEPARATOR   ']*'
              new Array(100).join('(?:.([^'   String._FORMAT_SEPARATOR   ']*))?'));
    }
    if (!String.format)
    {
        String.format = 함수(들){
           Array.prototype.join.call(인수, 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,
    }
}
//끝 문자열 형식

함수 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)
        { true를 반환합니다.
        }
    }
    false를 반환합니다.
}

함수  getUrlParam(이름)
{   
    var reg = new RegExp("(^|&)"  name  "=([^&]*)(&|$) ","나");   
    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 밀리초=1;
 var 초=밀리초*1000;
 var 분=초*60;
 var 시=분*60;
 var 일=시간*24;
 var 연도=일*365;

 var newDate;
 var dVal = new Date(dateObj)
 var dVal=dVal.valueOf();
 switch(DatePart)
 {
  case "ms": newDate=new Date(dVal 밀리초*간격); 부서지다;
  case "s": newDate=new Date(dVal 초*간격); 부서지다;
  case "mi": newDate=new Date(dVal 분*간격); 부서지다;
  case "h": newDate=new Date(dVal 시간*간격); 부서지다;
  case "d": newDate=new Date(dVal 일*간격); 부서지다;
  case "y": newDate=새 날짜(dVal 연도*간격); 부서지다;
  기본값: return escape("日期格式不对");
 }
 newDate = 새 날짜(newDate);
 return newDate.getFullYear()   "-"   (newDate.getMonth()   1)   "-"   newDate.getDate() ; 
}

//增加当前日期的天数
Date.prototype.AddDays=function (간격)
{
     var dateObj = this;
 var 밀리초=1;
 var 초=밀리초*1000;
 var 분=초*60;
 var 시간=분*60;
 var 일=시간*24;
 var 연도=일*365;

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

  newDate=새 날짜(dVal 일*간격); 

 newDate = 새 날짜(newDate);
 return newDate
}

함수 SetCookie(이름, 값)
{

var argv = SetCookie.arguments;

    var argc = SetCookie.arguments.length;

    var 만료 = (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] : 거짓;

   
    var content = name   "="   escape(value)   ";";
    if(expires != null)
    {
        content  = " 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 '=')



// 등호를 추가하는 이유는
// 일부 쿠키 값에 cookieName과 동일한 문자열이 포함되지 않도록 하기 위함입니다.

if (start == -1) // 찾을 수 없음
return null

start = cookieName.length 1
var end = cookieString.indexOf('; ' , 시작);
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)


//Enter를 누르세요. 양식 제출
function KeydownSubmitForm(btnId)
{
var btn=document.getElementById(btnId)
if (btn!=null&& event.keyCode== 13)
{
event.return 값= false;
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;
}
}

함수 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)
}

//도움말 마스터페이지
함수 HideMenu(menuid)
🎜> var obj = document.getElementById(menuid);
if(obj.style.display == "none")
{
obj.style.display = ""
}
else
{
obj.style.display = "없음"
}

    if(obj.style.display == "")
    {
        var tmpId = "M0";
        for(var i  = 1 ; i         {
           var myid = tmpId   i;
            if(myid != menuid)
            {
               document.getElementById(myid).style.display = "없음";
            }
        }
    }
}

/* div 로그인 */
함수 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;
> DivLogin").style.display="none";
}        
/*随屏幕滚动*/
함수 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"). 오프셋 높이 "px";
   $("MonthVoteTip").style.top = getPosition($("AddMark")).y - $("AddMark").offsetHeight   "px";
   }
  }

}
함수 AutoScroll()
{

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

함수 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("브라우저 보안 설정에서 이 작업을 허용하지 않습니다.")
}
}
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.