JS 충돌 판단 하 는 방법

4038 단어
본 고 는 JS 가 충돌 을 판단 하 는 방법 을 실례 로 서술 하 였 다.모두 에 게 참고 하도록 공유 하 다.구체 적 으로 다음 과 같다.
JS 충돌 판단 방법:

   /**        
  
 * @param obj
 * @param dobj
 */ 
function impact(obj, dobj) { 
    var o = { 
        x: getDefaultStyle(obj, 'left'), 
        y: getDefaultStyle(obj, 'top'), 
        w: getDefaultStyle(obj, 'width'), 
        h: getDefaultStyle(obj, 'height') 
    } 
 
    var d = { 
        x: getDefaultStyle(dobj, 'left'), 
        y: getDefaultStyle(dobj, 'top'), 
        w: getDefaultStyle(dobj, 'width'), 
        h: getDefaultStyle(dobj, 'height') 
    } 
 
    var px, py; 
 
    px = o.x <= d.x ? d.x : o.x; 
    py = o.y <= d.y ? d.y : o.y; 
 
    //  
    if (px >= o.x && px <= o.x + o.w && py >= o.y && py <= o.y + o.h && px >= d.x && px <= d.x + d.w && py >= d.y && py <= d.y + d.h) { 
        return true; 
    } else { 
        return false; 
    } 

 
/**
 * @param obj      
 * @param attribute
 */ 
function getDefaultStyle(obj, attribute) { 
    return parseInt(obj.currentStyle ? obj.currentStyle[attribute] : document.defaultView.getComputedStyle(obj, false)[attribute]); 
}

예 는 다음 과 같다.  
 
  
  demo  
   
  
  
 
 
   
 
   
 
 
 
   <br>     var o = document.getElementById("f1");  <br>     var d = document.getElementById("f2");  <br>     alert(impact(o, d));  <p></p> <p>    function impact(obj, dobj) {  <br>         var o = {  <br>             x: getDefaultStyle(obj, 'left'),  <br>             y: getDefaultStyle(obj, 'top'),  <br>             w: getDefaultStyle(obj, 'width'),  <br>             h: getDefaultStyle(obj, 'height')  <br>         } </p> <p>        var d = {  <br>             x: getDefaultStyle(dobj, 'left'),  <br>             y: getDefaultStyle(dobj, 'top'),  <br>             w: getDefaultStyle(dobj, 'width'),  <br>             h: getDefaultStyle(dobj, 'height')  <br>         } </p> <p>        var px, py; </p> <p>        px = o.x <= d.x ? d.x : o.x;  <br>         py = o.y <= d.y ? d.y : o.y;  <br>   <br>         //   <br>         if (px >= o.x && px <= o.x + o.w && py >= o.y && py <= o.y + o.h && px >= d.x && px <= d.x + d.w && py >= d.y && py <= d.y + d.h) {  <br>             return true;  <br>         } else {  <br>             return false;  <br>         }  <br>     } </p> <p>    function getDefaultStyle(obj, attribute) {  <br>         return parseInt(obj.currentStyle ? obj.currentStyle[attribute] : document.defaultView.getComputedStyle(obj, false)[attribute]);  <br>     }  <br>   
  

본 논문 에서 말 한 것 이 여러분 의 자바 script 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.

좋은 웹페이지 즐겨찾기