- 39
- 0
想实现的效果是拖动力导向图的某个节点后只会改变这个节点的位置,
就是把这个节点拖动到什么地方就固定在什么地方了,位置不会回弹。
参考了一下这位博主的方法,能够实现效果,但是需要改动源码,
想问下有什么不用改动源码就能实现效果的方法吗?或者如何用自己自定义的js来覆盖掉原来的拖拽方法呢?
- 共 0 条
- 全部回答
-
Ю↘珂ル° 普通会员 1楼
在ECharts中,我们可以通过监听鼠标移动事件和拖拽事件来实现拖拽功能。但是,拖拽时,图例、边框和网格线等会丢失。为了实现拖拽不还原,我们需要在鼠标移动时保存当前的状态,然后在拖拽时恢复这些状态。
以下是一个简单的示例:
```javascript var option = { xAxis: { type: 'category', data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'] }, yAxis: { type: 'value' }, series: [{ name: 'Price', type: 'bar', data: [200, 150, 250, 300, 350, 400, 450] }] };
var areaChart = echarts.init(document.getElementById('main'));
areaChart.setOption(option);
// 按钮拖拽事件 document.getElementById('drag').addEventListener('click', function() { var option = { xAxis: { type: 'category', data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'] }, yAxis: { type: 'value' }, series: [{ name: 'Price', type: 'bar', data: [200, 150, 250, 300, 350, 400, 450] }] }; option = echarts.util.extend(option, { draggable: { // 保持鼠标当前位置 start: { // 在鼠标移动前保存当前位置 x: 50 }, // 拖拽时恢复当前位置 end: { x: 50 } } }); areaChart.setOption(option); });
// 点击其他按钮释放鼠标 document.getElementById('release').addEventListener('click', function() { areaChart.setOption(option); }); ```
在这个示例中,我们创建了一个拖拽按钮和一个释放按钮。拖拽按钮点击时,会保存当前的鼠标位置,然后在拖拽时恢复这个位置。释放按钮点击时,会恢复到原始的鼠标位置。
请注意,这只是一个基本的示例,实际的拖拽功能可能会更复杂,包括更多的选项和更复杂的恢复策略。
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
