V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
black11black
V2EX  ›  前端开发

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

  •  
  •   black11black · 2020-11-07 06:27:58 +08:00 · 1436 次点击
    这是一个创建于 1479 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

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

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

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

    4 条回复    2020-11-23 17:59:32 +08:00
    kaiki
        1
    kaiki  
       2020-11-07 06:37:51 +08:00
    改变鼠标显示可以用 cursor
    black11black
        2
    black11black  
    OP
       2020-11-07 06:55:22 +08:00
    贴个条:

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

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

    如果是前者,那么搜下全局看是不是有代码设置了 not-allow 或者 no-drop 的 cursor 属性,如果是后者,你可能需要跟端联调下(我假设你是内嵌的 webview )
    bojue
        4
    bojue  
       2020-11-23 17:59:32 +08:00
    @black11black 鼠标样式可以自定义的,但是一般自定义的鼠标样式就够了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3385 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 443ms · UTC 11:52 · PVG 19:52 · LAX 03:52 · JFK 06:52
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.