div拖動改變大小

問題

1:在div的邊框時改變鼠標的樣式問題

2:如何改變div的高度問題

3:div設置最大最小值

4:div四個方向四個鼠標樣式(我沒做,需要的話留言我可以幫你做一下)

全部代碼在文末

--------------------------------------------------------------------

問題1:在div的邊框時改變鼠標的樣式

解決:用大div包著一個小的div,小的div長寬100%,大的div有邊框。大的div hover 樣式為 cursor: s-resize;小的div hover 樣式為 cursor: default;

--------------------------

問題2:如何改變div的高度

解決思路:在大div border鼠標down時開啟拖動,document監(jiān)測鼠標move,鼠標位移量 + 最后div大小 = div的大小document監(jiān)測鼠標up時,拖拽結束,保存div的最后高度。問題3:div設置最大最小值解決:當? 鼠標位移量 + 最后div大小 在某個范圍以外,則不改變div的大小。

--------------------------

問題3:div設置最大最小值

解決:當鼠標位移量 + 最后div大小 在某個范圍以外,則不改變div的大小。

--------------------------

問題4:div四個方向四個鼠標樣式(我沒做,需要的話留言我可以幫你做一下)

解決:四個方向的話,不能加border了,只能在上下左右各加一個div,在div:hover時候的樣式不變。

--------------------------

全部代碼拿去試一試(編輯器不讓放全部的代碼,我分開寫了):有問題留言問。幫助到你,記得留言,需要鼓勵。

CSS:

.outer{

width: 100px;

height:200px;

border:2px solid red;

}

.inner{

width:100%;

height:100%;

/*border:1px solid #000;*/

}

.outer:hover{

cursor: s-resize;

}

.inner:hover{

cursor: default;

}

HTML

<div id="moveBarBox" class="outer"? onmousedown="startDrag()"><div class="inner" ></div></div>

JS

var finalheight = 200; //最后的高度

var he = 200; //初始高度

var dragable = false;//默認不可拖拽

var oldY = '';//記錄第一次的鼠標位置

var startDrag = function(event){

dragable = true;

var e=event?event:window.event;

oldY = e.pageY; //記錄第一次的鼠標位置

};

var unDrop = function(){

dragable = false;

window.event? window.event.cancelBubble = true : e.stopPropagation();

};

var endDrop = function(){

if(dragable){

finalheight = he;

dragable = false;

};

};

document.onmouseup=function(){

endDrop();

};

document.onmousemove=function(event){

if(dragable){

var e=event?event:window.event;

box = document.getElementById('moveBarBox');

console.log(box);

he =? e.pageY - oldY? + parseInt(finalheight);

//鼠標的位移 + div的最后高度 = div的新高度

//向上拉? he =? oldY - e.pageY? + parseInt(finalheight);

//向下拉? he =? e.pageY - oldY? + parseInt(finalheight);

if(dragable){

if(he<120 || he==120){//div最低高度

box.style.height = '120px';he? = '120';return;

}

if(he>400 || he==400){//div最高高度

box.style.height = '400px';he ?= '400';

return;

}

box.style.height = he + 'px';

};

};

};

作者:陳困困

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容