亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

為什么在判斷最大寬度的時候可以在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';
}


正在回答

1 回答

因為X是在框的右上方 右邊當然可以讓width-10 但是你上方就不能讓height-10了 你平行的offsetwidth-10 等于正好把屏幕往左邊縮小了10 但是你offsetheight-10是把屏幕從下往上拉了10px 那個X如果在右下方就完全沒問題 但是在右上方就出現bug了 不知道解釋清楚了沒 不懂再問吧

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

為什么在判斷最大寬度的時候可以在offsetwidth-10,而在判斷最大高度的時候卻不能了呢

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號