svg webtopo原型8 -拖曳

本文介绍了在SVG WebTopo中实现设备拖曳功能的挑战及解决方案,强调了坐标变换的重要性。在兼容性方面,特别是对于IE的embed需要设置wmode属性,同时针对IE和Opera对clientX的不同处理,采用不同的算法来计算鼠标点击位置。文章提到了相关的封装操作,如topo.js和movobjs.js,并提及了一个简洁的算法参考。
摘要由CSDN通过智能技术生成

这回是真正的考验了,要实现设备的鼠标拖曳功能。

这个功能理论上比较简单,但是为了兼容性,几乎吐血。

实现的方法有很多,这里仅列举一种。

核心就在于坐标变换,主要有三点注意

针对ieembed,需要注意设置wmode="Transparent"属性,这样可以不影响页面的鼠标事件。

再有就是IE/asv不支持offsetX方法,所以需要自行设法计算鼠标点击位置相对设备的坐标。

Ieoperaclientx的取值不同ie是相对svg元素的坐标,opera是相对整个页面的坐标,因此移动函数采用了不同的算法。

6dev.htm

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>
设备
</title>
 <meta http-equiv="X-UA-Compatible" content="chrome=1">
<!-- legengd.html
 1.显示设备(文字、图片)
 2.拖动
-->
</head>
<script type="text/javascript" language="javascript" src="./js/moveObjs.js"></script>
<script type="text/javascript" language="javascript" src="./js/svgutil.js"></script>
<script type="text/javascript" language="javascript" src="./js/topo.js"></script>

<script>

</script>

<body bgcolor="#ffffff">


<br>
<button οnclick="show()">开始</button><br>
<button οnclick="zoomby(0.5)">缩小2倍cor</button>
<button οnclick="zoomby(2)">放大 2倍cor</button>
<button οnclick="zoom(1,300,300)">还原</button><br>
<button οnclick="showsrc()">源码</button><br>
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
webtopo-svg-edit是一款基于Web的拓扑图编辑工具,它提供了一个简单易用的界面,帮助用户创建、编辑和分享各种拓扑图。用户可以通过拖拽和连接各种元素来构建自己的网络拓扑图,比如计算机网络、物联网设备、数据中心架构等。该工具使用SVG(Scalable Vector Graphics)作为图形格式,这意味着用户可以无限放大图像而不会失真,同时也支持各种颜色、样式和形状的定制。 webtopo-svg-edit具有丰富的功能,包括但不限于: 1. 图形编辑:用户可以添加、删除、移动和编辑各种形状和文本,并进行颜色、线条样式等属性的设置。 2. 连接元素:用户可以通过简单的拖拽和连接操作将不同的图形元素连接在一起,形成完整的拓扑图。 3. 分组组织:用户可以将多个元素分组组织,方便整体的管理和移动。 4. 导出分享:用户可以将编辑完成的拓扑图导出为SVG格式,以便在其他应用程序或网站中使用,也可以直接通过链接分享给他人。 webtopo-svg-edit的使用非常灵活和便捷,用户无需下载安装任何软件,只需通过浏览器访问网页即可开始编辑拓扑图。它适用于网络工程师、系统管理员、教育工作者等不同领域的用户,帮助他们更直观、高效地表达和分享各种网络拓扑结构。总之,webtopo-svg-edit是一款功能强大、易用便捷的Web拓扑图编辑工具,为用户提供了丰富的功能和灵活的操作方式。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值