js获取页面上元素的位置的通用方法

var div  = document.getElementById('myDiv');

EventUtil.addHandler(div,"click",function(event){

      event = event || window.event;

     var pageX = event.pageX,

           pageY = event.pageY;

     if(pageX === undefined) {

            pageX = event.clientX + (document.body.scrollLeft || document.documentElement.scrollLeft);

     }

     

 if(pageY === undefined) {

            pageY = event.clientY + (document.body.scrollTop || document.documentElement.scrollTop);

     }

})

其中EventUtil.addHandler见https://blog.csdn.net/qq_22091941/article/details/82120208

页面的位置的宽度pageX = 窗口的宽度event.clientX + 滚动的宽度(如果没有滚动,则pageX 等于event.clientX );

滚动的宽度 document.body.scrollLeft(混杂模式) || document.documentElement.scrollLeft(标准模式),兼容两种模式;

猜你喜欢

转载自blog.csdn.net/qq_22091941/article/details/82193125