当前位置: 首页 > 知识库问答 >
问题:

SVG onmouseover/hover不工作[复制]

牛迪
2023-03-14

我有一个SVG图像,带有一些矩形,当鼠标悬停在上面时需要改变颜色。在JSFIDLE中,代码运行良好:

https://jsfiddle.net/o8ufaL0h/

但是在我的网页上,我无法使用hover或onmouseover来处理单个rect。但是,当我在html代码中为完整的img元素添加onmouseover时,它确实可以工作,所以我想这不是img元素的z索引问题。

我真的不知道为什么我不能在我的svg或css代码中瞄准svg元素。

<style>
    rect:hover
    {
        opacity: 0.5;
    }
</style>


<rect x="277" y="126" fill="#960B2C" width="156" height="88"/>
<rect x="120" y="126" fill="#004D44" width="157" height="88"/>

<rect x="277" y="232" fill="#960B2C" width="156" height="88"/>
<rect x="120" y="232" fill="#004D44" width="157" height="88"/>

<rect x="277" y="339" fill="#960B2C" width="156" height="88"/>
<rect x="120" y="339" fill="#004D44" width="157" height="88"/>

</svg>

共有1个答案

葛高澹
2023-03-14

尝试为每个rect标记添加属性(使用javascript

onmouseover="this.setAttribute('fill-opacity','.5')" 
onmouseout="this.removeAttribute('fill-opacity')"

或者使用css

<style>
rect:hover{
    fill-opacity:1
}
</style>
 类似资料:
  • 我尝试创建一个jQuery函数.hover来通过使用另一个类并使用hover来修改div的背景颜色,方法是将hover用于addClass和removeClass。 HTML: CSS: JavaScript:

  • 在尝试使用lambda表达式时,我遇到了一些Gradle构建错误: 错误:(41,100)错误:source 1.7中不支持lambda表达式(使用source 8或更高版本启用lambda表达式) 错误:任务“:app:CompileDebugJava”执行失败。编译失败;有关详细信息,请参阅编译器错误输出。 但在设置模块应用程序源/目标兼容性中,没有“1.8”这样的选项,只有Java1.6或1

  • 我创建了这段代码,其中大部分代码都是使用toUpperCase,它应该使单词的每个首字母都大写。没有错误,因此我不确定该方法当前为何不起作用。为什么会这样呢。

  • 请帮助我…每当我启动xammp服务器并尝试启动mysql时,它会出现如下错误。。。

  • 我正在使用泽西开发一个API,并希望将其准备好部署到Google App Engine。但是,当我在Postman上测试时,GET函数有效,但POST函数无效。我只收到一条简短的错误消息,即“错误415不支持的媒体类型”,我无法确定哪里出了问题。 请求资源类 请求服务等级 网状物XML 提前感谢所有帮助我指出并解决问题并回答我问题的人。

  • 我正试图在Android中做一个向后兼容的工具栏,我遵循了多种风格指南中给出的所有建议来尝试和完成这个。然而,它似乎仍然不起作用。风格是这样的: 这是工具栏: 这是onCreate方法的主要活动: 不太确定出了什么问题,因为我遵循了许多消息来源给出的所有说明。这是日志: 我花了几个小时研究这段代码,以及无数的教程和StackOverflow问题,但是毫无用处。如果有人能帮助我,我将不胜感激。提前感