(轉)獲取頁面 鼠標位置

function getMousePoint(ev) {
    // 定義鼠標在視窗中的位置
    var point = {
        x:0,
        y:0
    };
 
    // 若是瀏覽器支持 pageYOffset, 經過 pageXOffset 和 pageYOffset 獲取頁面和視窗之間的距離
    if(typeof window.pageYOffset != 'undefined') {
        point.x = window.pageXOffset;
        point.y = window.pageYOffset;
    }
    // 若是瀏覽器支持 compatMode, 而且指定了 DOCTYPE, 經過 documentElement 獲取滾動距離做爲頁面和視窗間的距離
    // IE 中, 當頁面指定 DOCTYPE, compatMode 的值是 CSS1Compat, 不然 compatMode 的值是 BackCompat
    else if(typeof document.compatMode != 'undefined' && document.compatMode != 'BackCompat') {
        point.x = document.documentElement.scrollLeft;
        point.y = document.documentElement.scrollTop;
    }
    // 若是瀏覽器支持 document.body, 能夠經過 document.body 來獲取滾動高度
    else if(typeof document.body != 'undefined') {
        point.x = document.body.scrollLeft;
        point.y = document.body.scrollTop;
    }
 
    // 加上鼠標在視窗中的位置
    point.x += ev.clientX;
    point.y += ev.clientY;
 
    // 返回鼠標在視窗中的位置
    return point;
}
相關文章
相關標籤/搜索