交互式SVG-如何选择对鼠标悬停动作作出反应的元素?
我正在尝试制作一个交互式SVG,它可以对不同的用户操作(鼠标悬停、单击等)做出反应。我正在使用JavaBatik,但只要您描述一下如何用XML解决我的问题就足够了 点击功能对我来说很好。问题在于悬停(鼠标悬停在动作上)。我的代码如下所示:交互式SVG-如何选择对鼠标悬停动作作出反应的元素?,svg,ecmascript-5,batik,Svg,Ecmascript 5,Batik,我正在尝试制作一个交互式SVG,它可以对不同的用户操作(鼠标悬停、单击等)做出反应。我正在使用JavaBatik,但只要您描述一下如何用XML解决我的问题就足够了 点击功能对我来说很好。问题在于悬停(鼠标悬停在动作上)。我的代码如下所示: svgRoot.setAttributeNS(null, "onmouseover", "evt.target.setAttribute('opacity', '0.5');"); svgRoot.setAttributeNS(null, "onmouseou
svgRoot.setAttributeNS(null, "onmouseover", "evt.target.setAttribute('opacity', '0.5');");
svgRoot.setAttributeNS(null, "onmouseout", "evt.target.setAttribute('opacity', '1');");
svgRoot是整个.svg文件的根节点。所有其他元素都附加到它。将鼠标悬停在我的svq上时,只有当前元素是透明的(例如,文本元素或我当前鼠标光标所在的某个矩形)。但是,我希望整个svg是透明的(所有元素)。我认为这可以通过将此操作附加到根元素来实现,但它不是
我还有一个名为“script.js”的外部ECMAscript文件,它链接到我创建的每个svg,所以我也可以在这个脚本中编程,但我不确定如何编程
谢谢你的提示。假设我们有一个圆圈,上面有
onmouseover
和onmouseout
触发器:
纯JS中的myOpacity()函数:-
function myOpacity(op_value)
{
myCircle = document.getElementById('mycircle');
myCircle.setAttribute('opacity', op_value);
}
注意:您也可以尝试使用onmousedown
和onmouseup
触发器