`
jacally
  • 浏览: 772328 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

svg鼠标响应事件的四种方法

    博客分类:
  • SVG
阅读更多
查看完整版本 : svg鼠标响应事件的四种方法
鼠标响应事件的四种方法,以click事件为例。

Mouse Events - SMIL

xml 代码
  1. <!---->xml version="1.0" encoding="ISO-8859-1" standalone="no"?>  
  2. <!---->
  3. "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">  
  4. <svg xmlns="http://www.w3.org/2000/svg"  
  5. xmlns:xlink="http://www.w3.org/1999/xlink">  
  6. <rect x="5" y="5" width="40" height="40" fill="red">  
  7. <set attributeName="fill" to="blue" begin="click"/>  
  8. rect>  
  9. svg>  



实例演示:http://www.kevlindev.com/tutorials/basics/events/mouse/svg_smil/click.svg

Mouse Events - Attributes
xml 代码
  1.   
  2. <!---->xml version="1.0" encoding="ISO-8859-1" standalone="no"?>  
  3. <!---->
  4. "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd" [   
  5. <!---->
  6. xmlns:a3 CDATA #IMPLIED   
  7. a3:scriptImplementation CDATA #IMPLIED>  
  8. <!---->
  9. a3:scriptImplementation CDATA #IMPLIED>  
  10. ]>  
  11. <svg xmlns="http://www.w3.org/2000/svg"  
  12. xmlns:xlink="http://www.w3.org/1999/xlink"  
  13. xmlns:a3="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"  
  14. a3:scriptImplementation="Adobe">  
  15. <script type="text/ecmascript" a3:scriptImplementation="Adobe"><!----> 
  16. function changeColor(evt) {  
  17. var rect = evt.target;  
  18.  
  19. rect.setAttributeNS(null, "fill", "purple")  
  20. }  
  21. ]]>script>  
  22. <rect x="5" y="5" width="40" height="40" fill="red"  
  23. onclick="changeColor(evt)"/>  
  24. svg>  
  25.   
实例演示:

http://www.kevlindev.com/tutorials/basics/events/mouse/svg_js/onclick.svg

Mouse Events - JavaScript+SMIL

xml 代码
  1. <!---->xml version="1.0" encoding="ISO-8859-1" standalone="no"?>  
  2. <!---->
  3. "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd" [   
  4. <!---->
  5. xmlns:a3 CDATA #IMPLIED   
  6. a3:scriptImplementation CDATA #IMPLIED>  
  7. <!---->
  8. a3:scriptImplementation CDATA #IMPLIED>  
  9. ]>  
  10. <svg onload="makeShape(evt)"  
  11. xmlns="http://www.w3.org/2000/svg"  
  12. xmlns:xlink="http://www.w3.org/1999/xlink"  
  13. xmlns:a3="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"  
  14. a3:scriptImplementation="Adobe">  
  15. <script type="text/ecmascript" a3:scriptImplementation="Adobe"><!----> 
  16. var svgns = "http://www.w3.org/2000/svg";  
  17. function makeShape(evt) {  
  18. if ( window.svgDocument == null )  
  19. svgDocument = evt.target.ownerDocument;  
  20.  
  21. var rect = svgDocument.createElementNS(svgns, "rect");  
  22. rect.setAttributeNS(null, "x", "5");  
  23. rect.setAttributeNS(null, "y", "5");  
  24. rect.setAttributeNS(null, "width", "40");  
  25. rect.setAttributeNS(null, "height", "40");  
  26. rect.setAttributeNS(null, "fill", "green");  
  27.  
  28. var set = svgDocument.createElementNS(svgns, "set");  
  29. set.setAttributeNS(null, "attributeName", "fill");  
  30. set.setAttributeNS(null, "to", "blue");  
  31. set.setAttributeNS(null, "begin", "click");  
  32.  
  33. rect.appendChild(set);  
  34. svgDocument.documentElement.appendChild(rect);  
  35. }  
  36. ]]>script>  
  37. svg>  

实例演示:http://www.kevlindev.com/tutorials/basics/events/mouse/js_dom_smil/click_js_smil.svg

Mouse Events - EventListener

xml 代码
  1. <!---->xml version="1.0" encoding="ISO-8859-1" standalone="no"?>  
  2. <!---->
  3. "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd" [   
  4. <!---->
  5. xmlns:a3 CDATA #IMPLIED   
  6. a3:scriptImplementation CDATA #IMPLIED>  
  7. <!---->
  8. a3:scriptImplementation CDATA #IMPLIED>  
  9. ]>  
  10. <svg onload="makeShape(evt)"  
  11. xmlns="http://www.w3.org/2000/svg"  
  12. xmlns:xlink="http://www.w3.org/1999/xlink"  
  13. xmlns:a3="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"  
  14. a3:scriptImplementation="Adobe">  
  15. <script type="text/ecmascript" a3:scriptImplementation="Adobe"><!----> 
  16. var svgns = "http://www.w3.org/2000/svg";  
  17. function makeShape(evt) {  
  18. if ( window.svgDocument == null )  
  19. svgDocument = evt.target.ownerDocument;  
  20.  
  21. var rect = svgDocument.createElementNS(svgns, "rect");  
  22. rect.setAttributeNS(null, "x", 5);  
  23. rect.setAttributeNS(null, "y", 5);  
  24. rect.setAttributeNS(null, "width", 40);  
  25. rect.setAttributeNS(null, "height", 40);  
  26. rect.setAttributeNS(null, "fill", "green");  
  27.  
  28. rect.addEventListener("click", changeColor, false);  
  29.  
  30. svgDocument.documentElement.appendChild(rect);  
  31. }  
  32.  
  33. function changeColor(evt) {  
  34. var target = evt.target;  
  35. target.setAttributeNS(null, "fill", "purple");  
  36. }  
  37. ]]>script>  
  38. svg>  

实例演示:http://www.kevlindev.com/tutorials/basics/events/mouse/js_dom/click_js.svg
分享到:
评论

相关推荐

    svg小例子(主要是鼠标事件)

    了解并熟练运用SVG鼠标事件,将大大提升你的前端开发能力。 总之,这个SVG小例子压缩包提供了一个实践和学习SVG与鼠标事件交互的好机会。通过对这些例子的分析和实践,你不仅能理解SVG的基本元素,还能掌握如何利用...

    svg添加不同效果的提示信息

    SVG(Scalable Vector Graphics)是一种基于XML的矢量图像格式,它允许开发者创建出清晰、可放大而不失真的图形。在SVG图像中添加提示信息,通常是为了提供额外的交互性和用户反馈,使得图形更加易懂。这涉及到SVG的...

    html5 svg 中元素点击事件添加方法

    这一点非常重要,因为SVG元素可以独立响应鼠标事件,如click、mouseover、mouseout等,而Canvas则必须依赖于Canvas本身进行事件捕获。 4. 在移动设备,特别是iPad上,可能需要确保SVG元素的点击事件正确地添加。有...

    HTML5 svg实现响应鼠标点击燃烧的光剑火焰箭动画效果源码.zip

    再者,SVG还支持事件监听器,使得图形可以响应用户的交互操作。在本案例中,"响应鼠标点击"这一功能就是通过添加click事件监听器实现的。当用户点击页面时,JavaScript代码会被触发,进而执行相应的动画逻辑。 ...

    CSS3+SVG实现鼠标响应式塔楼和云梯动画效果源码.zip

    在本资源中,"CSS3+SVG实现鼠标响应式塔楼和云梯动画效果源码.zip" 提供了一个使用现代Web技术实现互动动画效果的示例。这个项目结合了CSS3的强大功能和SVG(可缩放矢量图形)的灵活性,以创建一个动态的、对鼠标...

    CSS3+SVG实现鼠标响应式摇篮车宝宝推车卡通图标动画效果源码.zip

    在本资源中,"CSS3+SVG实现鼠标响应式摇篮车宝宝推车卡通图标动画效果源码.zip",我们探讨的是如何利用现代Web技术,尤其是CSS3和SVG,来创建一个互动式的、具有动画效果的卡通摇篮车图标。这个图标可能是用于儿童...

    CSS3+SVG实现鼠标响应式APP脸谱图标动画效果源码.zip

    在本项目中,“CSS3+SVG实现鼠标响应式APP脸谱图标动画效果源码.zip”是一个包含使用现代Web技术创建动态、交互式图形的资源包。这个源码着重展示了如何利用CSS3和SVG(可缩放矢量图形)来创建响应用户鼠标动作的...

    html5+svg绘制响应鼠标滑过盛开的玫瑰花动画特效源码.zip

    在这个特定的压缩包中,“html5+svg绘制响应鼠标滑过盛开的玫瑰花动画特效源码.zip”包含了一个使用HTML5和SVG(Scalable Vector Graphics)技术实现的互动动画效果,特别是当鼠标滑过时,玫瑰花会呈现盛开的状态。...

    TweenMax.js+SVG实现的鼠标响应式含羞草动画效果源码.zip

    在这个项目中, TweenMax.js 被用来实现一个鼠标响应式的含羞草动画效果。SVG(Scalable Vector Graphics)是一种基于XML的矢量图像格式,它可以提供高质量的图形,并且在放大时不会失真。 在SVG中,我们可以创建...

    html5 svg和css3超神奇图片鼠标hover动画效果

    HTML5提供了诸如`addEventListener`这样的方法,可以监听用户的鼠标悬停事件,当事件触发时执行相应的JavaScript代码,如启动一个动画序列。 6. **文件结构**:压缩包中的文件可能包含以下内容: - `index.html`:...

    SVG Demo.rar

    3. SVG鼠标事件: SVG元素可以响应与鼠标相关的事件,如`mouseover`、`mouseout`、`mousedown`、`mouseup`和`click`。例如,我们可以为一个SVG元素添加点击事件监听器,当用户点击该元素时,执行特定的JavaScript...

    HTML5 SVG鼠标点击按钮水纹特效代码4套提供下载.zip

    本资源“HTML5 SVG鼠标点击按钮水纹特效代码4套提供下载.zip”显然是一个包含四种不同设计的HTML5 SVG按钮点击水纹效果的代码集合。这些特效可以为网页中的表单按钮增添视觉吸引力,使用户交互变得更加生动有趣。...

    jQuery+CSS3实现的鼠标响应式SVG左侧导航栏特效源码.zip

    在本资源中,"jQuery+CSS3实现的鼠标响应式SVG左侧导航栏特效源码.zip" 是一个包含使用jQuery和CSS3技术构建的交互式SVG左侧导航栏的代码示例。这个项目着重于如何利用这两种强大的前端技术来创建动态、响应式的用户...

    鼠标滑动操作svg图片.zip

    在IT领域,SVG(Scalable Vector Graphics)是一种基于XML的矢量图像格式,它可以无损地放大而不失真,广泛应用于网页设计、图形用户界面(GUI)以及各种应用程序。这个名为“鼠标滑动操作svg图片.zip”的压缩包提供...

    HTML5 svg实现响应鼠标移动的地上手电筒照明光亮效果源码.zip

    3. 添加鼠标事件监听器:使用JavaScript的`addEventListener`方法,为`mousemove`事件添加监听器。这会在鼠标移动时触发回调函数。 4. 回调函数处理:在回调函数中,获取鼠标当前位置,然后更新光照形状的`x`, `y`,...

    SVG图片剪辑路径鼠标悬停效果.zip

    SVG(Scalable Vector Graphics)是一种基于XML的矢量图像格式,它允许创建可缩放的、清晰的图形,无论放大多少倍都不会失真。在本案例中,“SVG图片剪辑路径鼠标悬停效果”是一个交互式的网页设计技术,通过...

    SVG-与Region,实现地图点击区域

    5. 动态响应:如果你希望地图具有动态响应,比如在不同缩放级别下保持点击区域的准确性,可能需要使用SVG的`getBBox()`方法获取元素的边界框,然后根据当前视口的缩放比例调整判断逻辑。 在实际项目中,你可能会...

    纯css3 svg鼠标经过按钮边框线条动画特效

    在本文中,我们将深入探讨如何使用CSS3和SVG来创建一个具有鼠标经过效果的按钮边框线条动画特效。这个特效可以为用户界面增添互动性和视觉吸引力。首先,我们需要理解CSS3和SVG的基本概念。 **CSS3简介** CSS(层叠...

Global site tag (gtag.js) - Google Analytics