最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JS實現(xiàn)判斷碰撞的方法

 更新時間:2015年02月11日 09:02:51   作者:傲雪星楓  
這篇文章主要介紹了JS實現(xiàn)判斷碰撞的方法,實例分析了通過js判斷實體碰撞的技巧與相關(guān)應(yīng)用,需要的朋友可以參考下

本文實例講述了JS實現(xiàn)判斷碰撞的方法。分享給大家供大家參考。具體如下:

JS判斷碰撞方法:

復(fù)制代碼 代碼如下:
/** 判斷是否碰撞
 * @param obj 原對象
 * @param dobj 目標(biāo)對象
 */ 
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]); 
}

示例如下:

復(fù)制代碼 代碼如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
 <head> 
  <title> demo </title> 
  <style type="text/css"> 
  body{margin:0px;} 
    .main{position:relative;} 
    #f1{position:absolute; background:#FF0000; top:100px; left:100px; width:200px; height:200px; z-index:999} 
    #f2{position:absolute; background:#FFFF00; top:0px; left:0px; width:600px; height:150px;} 
  </style> 
 </head> 
 <body> 
 <div class="main"> 
    <div id="f1"></div> 
    <div id="f2"></div> 
 </div> 
 <script type="text/javascript"> 
    var o = document.getElementById("f1"); 
    var d = document.getElementById("f2"); 
    alert(impact(o, d)); 

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

    function getDefaultStyle(obj, attribute) { 
        return parseInt(obj.currentStyle ? obj.currentStyle[attribute] : document.defaultView.getComputedStyle(obj, false)[attribute]); 
    } 
 </script> 
 </body> 
</html>

希望本文所述對大家的javascript程序設(shè)計有所幫助。

相關(guān)文章

  • 判斷window.onload是否多次使用的方法

    判斷window.onload是否多次使用的方法

    window.onload想必大家都有使用過吧,在窗口加載時執(zhí)行,如果多次使用window.onload該如何判斷呢?下面與大家分享個方法
    2014-09-09
  • js實現(xiàn)兩點之間畫線的方法

    js實現(xiàn)兩點之間畫線的方法

    這篇文章主要介紹了js實現(xiàn)兩點之間畫線的方法,涉及javascript圖形繪制的相關(guān)技巧,需要的朋友可以參考下
    2015-05-05
  • js將日期格式轉(zhuǎn)換為YYYY-MM-DD HH:MM:SS

    js將日期格式轉(zhuǎn)換為YYYY-MM-DD HH:MM:SS

    這篇文章主要介紹了js將日期格式轉(zhuǎn)換為YYYY-MM-DD HH:MM:SS,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • jszip插件實現(xiàn)圖片打包下載的方法分析

    jszip插件實現(xiàn)圖片打包下載的方法分析

    這篇文章主要介紹了jszip插件實現(xiàn)圖片打包下載的方法,結(jié)合實例形式分析了JavaScript使用jszip插件依據(jù)圖片列表打包下載zip壓縮文件的相關(guān)操作技巧,需要的朋友可以參考下
    2023-05-05
  • JavaScript聲明變量名的語法規(guī)則

    JavaScript聲明變量名的語法規(guī)則

    這篇文章主要給大家簡單介紹了JavaScript聲明變量名的語法規(guī)則,非常有助于大家學(xué)習(xí)javascript,有需要的小伙伴可以參考下。
    2015-07-07
  • javascript實現(xiàn)延時顯示提示框效果

    javascript實現(xiàn)延時顯示提示框效果

    這篇文章主要為大家詳細(xì)介紹了javascript實現(xiàn)延時顯示提示框效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • javascript 中的 delete及delete運算符

    javascript 中的 delete及delete運算符

    這篇文章主要介紹了javascript 中的 delete及delete運算符的相關(guān)資料,需要的朋友可以參考下
    2015-11-11
  • 利用JavaScript將普通數(shù)字轉(zhuǎn)換為帶有千分位分隔符格式的多種實現(xiàn)方法

    利用JavaScript將普通數(shù)字轉(zhuǎn)換為帶有千分位分隔符格式的多種實現(xiàn)方法

    如何利用 JavaScript 將普通數(shù)字轉(zhuǎn)換為帶有千分位分隔符的格式,我們將介紹多種方法,包括使用內(nèi)置的 toLocaleString() 方法、Intl.NumberFormat 對象以及自定義函數(shù)來實現(xiàn)數(shù)字格式化,需要的朋友可以參考下
    2023-12-12
  • js實現(xiàn)旋轉(zhuǎn)木馬輪播圖效果

    js實現(xiàn)旋轉(zhuǎn)木馬輪播圖效果

    這篇文章主要為大家詳細(xì)介紹了js實現(xiàn)旋轉(zhuǎn)木馬輪播圖,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-01-01
  • 基于JavaScript實現(xiàn)交互式博客

    基于JavaScript實現(xiàn)交互式博客

    在Web開發(fā)中,JavaScript(JS)是一種至關(guān)重要的編程語言,它使網(wǎng)頁具有交互性,本文主要介紹了如何使用JavaScript實現(xiàn)一個交互式博客,需要的可以了解下
    2024-01-01

最新評論

万源市| 寿光市| 环江| 枣庄市| 公主岭市| 丹巴县| 临城县| 泽州县| 临朐县| 宁南县| 新乐市| 翁牛特旗| 汉川市| 壤塘县| 大同市| 综艺| 德清县| 镇平县| 泽普县| 阿克苏市| 大余县| 长丰县| 襄垣县| 岳普湖县| 伊金霍洛旗| 肃北| 油尖旺区| 比如县| 鹿邑县| 新巴尔虎左旗| 安阳县| 土默特右旗| 隆林| 永城市| 千阳县| 新建县| 民丰县| 黑龙江省| 资源县| 洛阳市| 井陉县|