window.onload?=?function?()?{
????var?rightId?=?document.getElementById("right1");?//獲取右邊界id
????var?mainId?=?document.getElementById("main");?//獲取整個區域的id
????var?ifKeyDown?=?false;
????//鼠標按下事件
????rightId.onmousedown?=?function(){
????????ifKeyDown?=?true;
????}
????rightId.onmouseup?=?function(){
????????ifKeyDown?=?false;
????}
//鼠標點擊右坐標點后?不松開情況下跟隨鼠標移動?故使用window事件
????window.onmousemove?=?function?(e)?{
????????if?(ifKeyDown?==?true){
????????????var?x?=?e.clientX;?//鼠標x坐標
????????????var?addWidth?=?"";???//鼠標增加的寬度
????????????var?widthBefore?=?mainId.offsetWidth?-?2;???//選取框變化前的id
????????????addWidth?=?x?-?widthBefore?-?getPosition(mainId).left;
????????????mainId.style.width?=?addWidth?+?widthBefore?+?"px";??????//選取框變化后的寬度
????????}
????}
}
//獲取元素相對于屏幕左邊的距離,使用offsetLeft
function?getPosition(node){
????var?left?=?node.offsetLeft;
????var?top?=?node.offsetTop;
????var?parent?=?node.offsetParent;
????while?(parent?!=?null){
????????left?+=?parent.offsetLeft;
????????top?+=?parent.offsetTop;
????????parent?=?parent.offsetParent;
????}
????return?{"left":left,"top":top};
}
2022-03-24
手打代碼就好了,復制粘貼會提示錯誤offset指?數組是從0開始的,所以2,2?,返回的的是7,5
2019-01-13
松開事件的對象改成window試試唄