SVG实例之电力开关

简介:
<?xml version="1.0" standalone="no"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1"  width="400" height="200" >
<script> 
function lineGClick(evt) {

var lineA = document.getElementById("lineA");
if( lineA.getAttribute("display")=="none"){

lineA.setAttribute("display","#000000");
line2.setAttribute("display","none");

}else{
lineA.setAttribute("display","none");
line2.setAttribute("display","#000000");
}
}
 </script>
<defs>
 <g id="lineG1" >
  <line id="line1" fill="none" stroke="#000000" stroke-width="4" x1="10" y1="10" x2="10" y2="40"/>
  <line id="lineA" fill="none" display="none" stroke="#000000" stroke-width="4" x1="10" y1="40" x2="10" y2="70"/>
  <line id="line2" fill="none" stroke="#000000" stroke-width="4" x1="10" y1="40" x2="35" y2="60"/>
  <line id="lineB" fill="none" stroke="#000000" stroke-width="4" x1="10" y1="70" x2="10" y2="100"/>
 </g>
</defs>

<text x="10" y="20" fill="red">一个SVG电力开关的例子。点击开关,进行状态转换</text>
<use x="10" y="30" xlink:href="#lineG1" onclick="lineGClick(evt)"/>
<a xlink:href="http://www.waylau.com" target="_blank">
<text x="10" y="180" fill="red">欢迎访问wwww.waylau.com</text>
  </a>
</svg>

效果:

解释:

defs标签定义了可以重复利用的组件

use引用了defs所定义的组件,其中onclick监听了鼠标点击事件


目录
相关文章
|
3月前
|
数据可视化
Threejs制作服务器机房冷却结构
这篇文章详细介绍了如何使用Three.js来创建一个服务器机房的冷却结构模型,包括设计和实现机房内冷却系统的可视化表现。
30 1
|
4月前
|
负载均衡 5G UED
蜂窝网络中的切换(Handover)及其类型详解
蜂窝网络中的切换(Handover)及其类型详解
353 12
|
7月前
|
前端开发
CSS动画(动态导航栏)
CSS动画(动态导航栏)
HMI-32-【运动模式】增加灯光面板和底本信息栏
上一篇中,我们把音乐模块的图片显示功能实现了,今天来给我们的运动模式收个小尾巴,把灯光控制面本和底部信息栏也显示出来,其实这个两个如果偷懒的换,可以把舒适模式的挪过来,但是考虑到布局,还是重新实现以下吧,方式和舒适模式基本一致,都是建立模块。这里不会太详细展开。
HMI-32-【运动模式】增加灯光面板和底本信息栏
|
定位技术
Echarts地图针对特定区域进行放大的操作方案
Echarts地图针对特定区域进行放大的操作方案
489 0
|
前端开发 JavaScript 容器
前端|动态发光按钮
前端|动态发光按钮
146 0
|
JavaScript 前端开发 程序员
【前端】使用jQuery实现静态布局地铁线路地图和自动点亮站点
前段时间,看到有这样一篇文章,标题写着,jQuery是不是过时了!个人觉得,这是技术迭代更新过程中无法避免的,也是一种进步。能发出如此感概,说明已经有新的技术框架逐渐占据了一定的使用量。 技术框架会不会过时,这个并不是最重要的,重要的是能够以技术框架作为辅助,理解和掌握他们的原理,进而实现自己目标功能。功能实现逻辑基本上不会变 jQuery也是有自己得优势,在javascript基础上封装的函数库,更方便控制DOM对象,也可以快速使用jQuery锻炼自己的前端编程逻辑
387 0
|
前端开发 JavaScript 索引
「CSS畅想」定时+随机,开启今日上上签
用技术实现梦想,用梦想打开前端技术之门。今天写个小功能,为自己加点好运。
154 1
|
前端开发
前端工作总结294-uni-控制整个label区域可选
前端工作总结294-uni-控制整个label区域可选
89 0
前端工作总结294-uni-控制整个label区域可选
|
存储 编解码 监控
案例分享:Qt+Arm+Fpga医疗肾镜(又名内窥镜)(实时影像、冻结、拍照、白平衡、九宫格、录像、背光调整、硬件光源调整、光源手动自动调整、物理按键)
案例分享:Qt+Arm+Fpga医疗肾镜(又名内窥镜)(实时影像、冻结、拍照、白平衡、九宫格、录像、背光调整、硬件光源调整、光源手动自动调整、物理按键)