手机版

使用JavaScript通过拖放改变元素的大小

时间:2021-09-06 来源:互联网 编辑:宝哥软件园 浏览:

概述

拖动通过添加一些功能来模拟拖动,从而改变元素的大小

通过拖动改变元素大小的原理

首先,这个正方形需要知道我们想要改变它的大小,所以我为它设置了一个范围。当我点击这个范围时,它显示我们想要改变它的大小

当我们点击这些红色区域的方块时,方很快就知道我们要改变它的大小

代码实现:

//获取事件对象,兼容性写成var ev=ev | | event//鼠标按下时的位置var mouseDownX=ev.clientXvarMouse霜降=ev.clientY//框的上、下、左、右侧的位置以及框的长度和宽度var T0=this.offsetTopvar B0=this . offset top this . offset theight;var L0=this.offsetLeftvar R0=this . offsetleft this . offsetidth;var W=this.offsetWidthvar H=this.offsetHeight//设置块var areaT=T0 10的识别范围;var AreB=B0-10;var areaL=L0 10var ARar=R0-10;其中,区域甲、区域乙、区域丙和区域丙是红色区域

接下来,立方体知道我们想要改变它的大小,但是如何改变以及朝哪个方向改变。因此,我们必须判断改变大小的方向

代码实现:

//判断改变方块大小的方向//left var changeL=mouseDownX area;//right var ChanGe=MouseDownx ARar;//on varchange=mouse down y areat;//在var changeB=MouseFullAreB下;接下来是最重要的风格转变

代码实现:

//根据改变框大小的方向改变大小//left if(changel){ odiv . style . width=(mouse down x-mouse move x)w ' px ';odiv . style . left=L0-(mouseDownX-mouseMoveX)' px ';}//右if(changer){ odiv . style . width=(mouse move x-mouse down x)w ' px ';}//up if(change){ odiv . style . height=(mouse down y-mouse move y)h ' px ';odiv . style . top=T0-(Mouse霜降-Mousemovey)' px ';}//down if(change b){ odiv . style . height=(mouse move y-mouse down y)h ' px ';}注意:改变左侧和上侧时,要同时修改框的位置,否则会拖动左侧,放大右侧(拖动上侧会放大下侧的位置)

代码优化

优化前的代码:

var odiv=文档。getelement byid(' div 1 ');奥迪夫。onmousedown=function(ev){//阿宽事件(事件)绿筠,魏冄var ev=ev ||事件;//吴经熊?吴经熊var mousedownx=ev。client x:var mouse霜降=ev。clienty/安祖鲁安祖鲁安祖鲁安祖鲁安祖鲁安祖鲁var t0=这个。偏移;var B0=这个。偏移这个。偏右;var L0=此。offsetleftvar r0=这个。远离这个。偏移;var W=此。offsetwidthvar h=这个。偏右/范思哲范思哲var areat=t010var areab=B0-10;var面积=L10:var ar=r0-10;//嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨//对var changel=mousedownx区域://你好var changer=mousedownx arer//979年var changet=mouse霜降areat//97年var change b=mouse霜降areabodiv。onoemove=function(ev){ var ev=ev | |事件;//朱庇特阿齐兹阿齐兹阿齐兹阿齐兹阿齐兹阿齐兹阿齐兹阿齐兹阿齐兹阿齐兹阿齐兹阿齐兹阿齐兹阿齐兹阿齐兹阿齐兹阿齐兹阿齐兹阿齐兹var mousemovex=ev。clientx:var mousemovey=ev。clienty/喂喂喂喂喂喂喂喂喂喂喂喂//对if(changel){ odiv。风格。width=(mouse wnx-mouse movx)w ' px ';奥迪夫。风格。left=l0-(mouse wnx-mouse movx)' px ';} //你好if(change){ odiv。风格。width=(mousemovx-mouedownx)w ' px ';} //979年if(change){ odiv。风格。height=(mouse wny-mouse movy)h ' px ';奥迪夫。风格。top=t0-(moussowny-mousemovy)' px ';} //97年if(变更b){ odiv。风格。高度=(mousemovy-mouedowny)h ' px ';} //你叫什么名字if(解析int(odiv。风格。宽度)50){ odiv。风格。宽度=50 ' px ";} if(解析int(odiv。风格。高度)50){ odiv。风格。高度=50 ' px ";} } odiv。onuseup=function(){ odiv。onouemove=null} }贺盛瑞!贺盛瑞!贺盛瑞!贺盛瑞!贺盛瑞:

1 .{ 1 }我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,你是说.

沙伯沙伯沙伯沙伯沙伯沙伯沙伯沙伯沙伯沙伯沙伯沙伯沙伯沙伯沙伯沙伯沙伯沙伯沙伯沙伯沙伯:哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟我们走吧俊儿啊onmouseup(移动电话)杨俊钦先生文件名称何如

2 ._古廷根(签名),不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不

沙伯沙伯沙伯沙伯沙伯沙伯沙伯沙伯沙伯沙伯沙伯沙伯沙伯沙伯沙伯沙伯沙伯沙伯沙伯沙伯沙伯:1范伟德,范伟德(IE8绿筠小姐)

哦,天啊onmousedown(动画角色)吴登盛啊返回错误的

2 ._范思哲(音译)(IE8)

哦,天啊onmousedown(动画角色)林业局局长林业局局长

哦,天啊onmouseup(移动电话)朱庇特范思哲

哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟:

div id=' div 1 ' adfadd SF/div脚本类型=' text/JavaScript ' var odiv=document。getelement byid(' div 1 ');奥迪夫。onmousedown=function(ev){//阿宽事件(事件)绿筠,魏冄var ev=ev ||事件;//吴经熊?吴经熊var mousedownx=ev。client x:var mouse霜降=ev。clienty/安祖鲁安祖鲁安祖鲁安祖鲁安祖鲁安祖鲁var t0=这个。偏移;var B0=这个。偏移这个。偏右;var L0=此。offsetleftvar r0=这个。远离这个。偏移;var W=此。offsetwidthvar h=这个。偏右/范思哲范思哲var areat=t010var areab=B0-10;var面积=L10:var ar=r0-10;//嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨//对var changel=mousedownx区域://你好var changer=mousedownx arer//979年var changet=mouse霜降areat//97年var change b=mouse霜降areab//IE8哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟-范思哲(音译)if(odiv。set apture){ odiv。set apture();}文档。onemove=function(ev){ var ev=ev | | event;//朱庇特阿齐兹阿齐兹阿齐兹阿齐兹阿齐兹阿齐兹阿齐兹阿齐兹阿齐兹阿齐兹阿齐兹阿齐兹阿齐兹阿齐兹阿齐兹阿齐兹阿齐兹阿齐兹阿齐兹var mousemovex=ev。clientx:var mousemovey=ev。clienty/喂喂喂喂喂喂喂喂喂喂喂喂//对if(changel){ odiv。风格。width=(mouse wnx-mouse movx)w ' px ';奥迪夫。风格。left=l0-(mouse wnx-mouse movx)' px ';} //你好if(change){ odiv。风格。width=(mousemovx-mouedownx)w ' px ';} //979年if(change){ odiv。风格。height=(mouse wny-mouse movy)h ' px ';奥迪夫。风格。top=t0-(moussowny-mousemovy)' px ';} //97年if(变更b){ odiv。风格。高度=(mousemovy-mouedowny)h ' px ';} //你叫什么名字if(解析int(odiv。风格。宽度)50){ odiv。风格。宽度=50 ' px ";} if(解析int(odiv。风格。高度)50){ odiv。风格。高度=50 ' px ";} }文档。onuseup=function(){ document。onouemove=null//张居正(音译)if(odiv。relascapture){ odiv。relascapture();} }返回false}朱塞佩朱塞佩朱塞佩朱塞佩,-你好-你好-你好,吴亚玲吴亚玲吴亚玲!

版权声明:使用JavaScript通过拖放改变元素的大小是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。