前端大神来指点一下,如何实现鼠标拖动 div 就能更改其大小?

2020-11-07 06:27:58 +08:00
 black11black

如题,自己三脚猫功夫,代码中若干环节需要求助。

需求是现有一个 div,里面装了一个 echarts 图表,我想要在 html 网页中能随时通过鼠标拖动来修改其图表的长宽大小。

echarts 本身有重新渲染功能,所以基本上只需要修改 div,剩下的 echarts 都会帮忙做好。

拖动部分感觉也不难实现,用clientY - offsetTop这种可以很轻易计算出鼠标相对左上角的位置。

目前遇到困难的是这个效果:

我用<hr/>画了一条水平分割线,我希望当鼠标移动到该分割线上方时,鼠标会变成上下箭头的样式(提示用户可以拖动),我不清楚这个是否可以通过纯 CSS 来实现,还是必须要经过 js 脚本,写成比如移入后触发,移出后取消这种感觉。另外网上搜到的资料是鼠标可以被替换成一张网络图片,但我想要的是默认的上下箭头,请问浏览器里有这种预设吗?否则的话如果我用笨方法截一张上下箭头的鼠标然后上传,那么 windows 用户也许还要,在其他操作系统中上下箭头长得都不一样的,显示图片的话会很违和。

求带佬指点一下,谢谢了。

1358 次点击
所在节点    前端开发
4 条回复
kaiki
2020-11-07 06:37:51 +08:00
改变鼠标显示可以用 cursor
black11black
2020-11-07 06:55:22 +08:00
贴个条:

主题中的需求用 classname:hover {cursor:n-size} 实现了。

但有个新的问题是,每次拖动以后鼠标会立即变成禁止符号,很怪啊
Xheldon
2020-11-13 17:02:34 +08:00
@black11black 禁止符号看下是哪种禁止,win 下,浏览器的禁止鼠标手势是红色圆圈中间有斜杠,系统鼠标禁止是灰色 /黑色禁止圆圈中间有个斜杠。(或者两者反过来,我忘了)

如果是前者,那么搜下全局看是不是有代码设置了 not-allow 或者 no-drop 的 cursor 属性,如果是后者,你可能需要跟端联调下(我假设你是内嵌的 webview )
bojue
2020-11-23 17:59:32 +08:00
@black11black 鼠标样式可以自定义的,但是一般自定义的鼠标样式就够了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/722582

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX