我有一个不同的问题,当用户点击页面并拖动到某个位置时,那么我应该绘制一个矩形div ...
但是当用户不滚动窗口时它工作正常..
如果他滚动窗口。然后他试图创建一个矩形意味着,然后它就到了上方位置..
我怎样才能解决这个问题..我对javascript知之甚少。
如果我不能详细解释你。随便问我..
感谢 拉杰什
答案 0 :(得分:0)
听起来你错过了滚动位置的起点和终点。在mousedown事件上获取滚动位置然后在mouseup事件上获取滚动位置。使用滚动位置的更改来帮助确定div的大小。
在每个事件上,使用如下函数获取滚动位置:
function getScrollXY() {
var scrOfX = 0, scrOfY = 0;
if( typeof( window.pageYOffset ) == 'number' ) {
//Netscape compliant
scrOfY = window.pageYOffset;
scrOfX = window.pageXOffset;
} else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
//DOM compliant
scrOfY = document.body.scrollTop;
scrOfX = document.body.scrollLeft;
} else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
//IE6 standards compliant mode
scrOfY = document.documentElement.scrollTop;
scrOfX = document.documentElement.scrollLeft;
}
return [ scrOfX, scrOfY ];
}