10.6 종합 포장 완벽판

4629 단어
/**
  • Created by Administrator on 2017/4/26. */

  • /**
  • 등속 운동 프레임
  • @param obj
  • @param target
  • @param speed*/function constant(obj, target, speed) {clearInterval(obj.timer);/시작 애니메이션 obj.timer=setInterval(function() {//box에 고른 속도로 애니메이션 var MySpeed=target>obj.offsetLeft?speed:-speed;obj.style.left=obj.offsetLeft+MySpeed+'px;if(math.abs(target-obj.offsetLeft) {clearInterval(obj.timer);obj.style.left = target +'px';},20); }

  • /**
  • CSS 속성을 가져오는 방법을 봉인합니다
  • @param obj
  • @param attr
  • @returns {*}*/function getCSSAttr(obj,attr) {//if(obj.currentStyle) {return obj.currentStyle[attr];}else { return getComputedStyle(obj)[attr]; } }

  • /**
  • 완동 화고를 봉인하다
  • @param obj
  • @param json
  • @param fn */function buffer(obj,json,fn) { clearInterval(obj.timer); obj.timer = setInterval(function () {
     // 
     var isStop = true;
     for (var key in json)
     {
         //   
         if ('opacity' == key) {
    
              var begin = parseFloat(getCSSAttr(obj,key))==0?0:parseInt(parseFloat(getCSSAttr(obj, key)) * 100) || 100;
    
             var target = parseInt(json[key] * 100);
         }
         // key scrollTop
         else if('scrollTop'==key)
         {
             var begin = obj.scrollTop;
    
             var target = json[key];
         }
         //  ( ;width,height,top left)
         else {
             var begin = parseInt(getCSSAttr(obj, key));
             var target = parseInt(json[key]);
         }
         var speed = (target - begin) / 20;
         speed = target > begin ? Math.ceil(speed) : Math.floor(speed);
    
    
         // 
         if ('opacity' == key)
         {
           // 
             obj.style.opacity = (speed + begin) /100;
    
             // ie
             obj.style.filter = 'alpha(opacity:'+(speed+begin)+')';
         }
    
         // Zindex 
         else if('zIndex'==key)
         {
           obj.style.zIndex = parseInt(json[key]);
         }
         else if('scrollTop'==key)
         {
             obj.scrollTop = speed +begin;
         }
         else
         {
             obj.style[key] = speed + begin + 'px';
         }
    
         if(begin!=target)
         {
             isStop = false;
         }
     }
    
     // 
     if (isStop){
         clearInterval(obj.timer);
    
         // 
         // 
         if(fn) {
             // 
             fn();
         }
     }
    
    },20); }

  • /**
  • scrollTop과 scrollLeft를 가져옵니다
  • @returns {*} */function scroll () {if (window.pageYOffset!=null) {//ie9+와 최신 브라우저 return {left: window.pageXOffset, top: window.pageYOffset}else if (document.compatMode='CSS1Compat') {//비괴이한 브라우저 return {left: document.documentElement.scrollLeft, top: document.document. mentElement.scrollTop}} return{ left: document.body.scrollLeft, top: document.body.scrollTop } }

  • /**
  • 봉인 라벨이 표시됩니다
  • @param tagId
  • @returns {string} */function show(tagId) { return document.getElementById(tagId).style.display = 'block'; }

  • /**
  • 봉인 라벨 숨기기
  • @param tagId
  • @returns {string} */function hide(tagId) { return document.getElementById(tagId).style.display = 'none'; }

  • /**
  • $함수를 봉하여 id를 가져옵니다
  • @param tagId
  • @returns {Element} */function $(tagId) { return typeof tagId==='string'?document.getElementById(tagId):tagId; }

  • /**
  • TagName 가져오기 방법을 패키지화합니다
  • @param tag
  • @returns {NodeList} */function getTag(tag) { return typeof tag==='string'?document.getElementsByTagName(tag):tag; }

  • /**
  • ClassName 메서드를 봉인합니다
  • @param className
  • @returns {*}/function getClass(className) {//1. 현재 브라우저가 if(document.getElementsByClassName) {return document.getElementsByClassName(className)을 지원하는지 판단합니다.}//2. 지원되지 않는 브라우저 var allTags = document.getElementsByTagName(''); var arr = [];//3. 반복 for(var i = 0;i if (allTags[i].className == className) { arr.push(allTags[i]); } //3.2. , }//그룹 returnarr;}로 돌아가는 것을 절대 잊지 마세요

  • /**
  • 화면의 폭과 높이를 호환적으로 얻을 수 있습니다
  • @returns {*} */function client () {//1. ie9+와 최신 브라우저 if(window.innerWidth!=null) {return {width:window.innerWidth,height:window.innerHeight}}//표준 브라우저 else if(document.compatMode='CSS1 Compat') {return {width:document.document.clientWidth,height:document. ment.documentElement.clientHeight}}/3.괴이한 모드else {return {width:document.body.clientWidth,height:document.body.clientHeight}}

  • }

    좋은 웹페이지 즐겨찾기