1

我制作了这个小国旗图标。

http://www.trjps.co.uk/image_store_old/estonia_flag.svg

鼠标悬停时,它会亮起。当您向下单击时,它会变亮(这是通过使叠加渐变可见来完成的),并且它也会移动一点。

一切都由组标签中的一组mouseon、mouseouts等控制

当鼠标按下然后移动时会出现问题。指针一碰到覆盖层,就会发生 mouseup 事件。指针从未离开该组,因为覆盖在同一组中。

我什至尝试将所有渐变停靠点放在组中,但没有任何变化。

我忽略了什么吗?非常感谢任何帮助或提示。

天然气

4

1 回答 1

0

也许这是一个浏览器错误。如果该元素是事件元素的子元素并且允许事件传播,则该元素的突然鼠标块不应触发 mouseup。

fill-opacity您可以通过操作而不是解决此问题visibility

   //remove  .setAttribute('visiblity', ...)
   onmousedown="getElementById('flash').setAttribute('fill-opacity',1)"
   onmouseup="getElementById('flash').setAttribute('fill-opacity',0)"

而你的#flash元素...

<!--Removed visibility="hidden" added fill-opacity="1" and removed fill-opacity:0 from styles -->
<path
     style="fill:url(#radialGradient3033);fill-rule:nonzero;stroke:#ffffff;stroke-width:1.2529794;stroke-opacity:0"
     d="M 423.65326,432.06998 C 405.51096,436.96285 390.19952,445.00107 368.27826,447.66373 362.06308,452.02659 356.97847,456.99773 353.34076,462.22623 L 353.34076,496.06998 C 359.10138,502.25487 368.35017,506.24285 379.40326,507.60123 401.52711,502.8051 417.56662,493.26432 440.49701,490.66373 445.27742,487.01892 449.28524,482.98308 452.37201,478.78873 L 452.37201,443.19498 C 445.96886,436.83241 435.72653,432.94392 423.65326,432.06998 z"
     id="flash"
     inkscape:connector-curvature="0"
     fill-opacity="1"
 />
于 2012-07-17T05:06:33.323 回答