为什么在判断最大宽度的时候可以在offsetwidth-10,而在判断最大高度的时候却不能了呢
第一种可用判断:
// 封装的鼠标移动面板跟着移动的方法
function fnMove(e, posX, posY) {
var oDrag = document.getElementById('loginPanel'),
// 光标的X/Y值减去光标距离面板的X/Y值 就是移动后面板所处的位置
l = e.clientX - posX,
t = e.clientY - posY,
// 可见区域宽度
winW = document.documentElement.clientWidth || document.body.clientWidth,
// 可见区域高度
winH = document.documentElement.clientHeight || document.body.clientHeight,
// 最大宽度限制
maxW = winW - oDrag.offsetWidth-10, // offsetWidth对象的可见宽度
// 最大高度限制
maxH = winH - oDrag.offsetHeight; // offsetHeight对象的可见高度
// 对left宽度的判断
if (l<0) {
l=0;
} else if(l>maxW){
l=maxW;
}
// 对top高度的判断
if(t<0){
t=10;
}else if(t>maxH){
t=maxH;
}
// 改变面板的x和y值
oDrag.style.left = l + 'px';
oDrag.style.top = t + 'px';
}第二种不可用:
// 封装的鼠标移动面板跟着移动的方法
function fnMove(e, posX, posY) {
var oDrag = document.getElementById('loginPanel'),
// 光标的X/Y值减去光标距离面板的X/Y值 就是移动后面板所处的位置
l = e.clientX - posX,
t = e.clientY - posY,
// 可见区域宽度
winW = document.documentElement.clientWidth || document.body.clientWidth,
// 可见区域高度
winH = document.documentElement.clientHeight || document.body.clientHeight,
// 最大宽度限制
maxW = winW - oDrag.offsetWidth-10, // offsetWidth对象的可见宽度
// 最大高度限制
maxH = winH - oDrag.offsetHeight-10; // offsetHeight对象的可见高度
// 对left宽度的判断
if (l<0) {
l=0;
} else if(l>maxW){
l=maxW;
}
// 对top高度的判断
if(t<0){
t=0;
}else if(t>maxH){
t=maxH;
}
// 改变面板的x和y值
oDrag.style.left = l + 'px';
oDrag.style.top = t + 'px';
}