【发布时间】:2015-11-15 21:58:05
【问题描述】:
基本上,有一个img 和一个.svg 图像的src。我正在尝试做的是慢慢地(0.2s 轻松)将它的颜色从黑色变为白色。
因为它不是内联的<svg>,所以我不能简单地在 CSS 中更改fill 的颜色。
我尝试将img src 更改为该图像的白色副本,但这样我就没有过渡了。
我可以使用交叉淡入淡出技术,但我想保持简单,不要使用position: absolute。
所以,我想出了一个解决方案。我在 jQuery 的 hover() 函数中更改了 PHP 变量的颜色,然后在 .svg 图像本身中更改了 echo 该变量:fill=<?php echo "'$color'" ?>
代码如下:
JavaScript/jQuery(mainjs.php):
<?php
$color = "";
?>
<script type="text/javascript">
$(function() {
$("#svg_img").hover(
function() {
<?php $color = "#221e1f"; ?>
},
function() {
<?php $color = "white"; ?>
}
);
});
</script>
和 HTML(如果需要):
<img id="svg_img" src="images/um.svg" style="height: 7vh; vertical-align: middle;" alt="Home" />
那我该怎么做呢?如果不可能——或者你知道更好的方法——那么,如果没有交叉淡入淡出技术,我将如何实现我的目标?
【问题讨论】:
-
您需要了解服务器端代码和客户端代码的区别。你不能那样做。
-
svg 有多大?把它内联而不是放在一个img标签中,然后你可以直接用JS操作它
标签: javascript php html css svg