基本上,有一个。svg图像的img
和src
。我正在努力做的是慢慢地……把它的颜色从黑色改为白色。
因为它不是一个内联的<svg>
,我不能简单地改变fill
的颜色在CSS。
我试着把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" />
我该怎么做呢?如果不可能——或者你知道更好的方法——那么,如果没有交叉衰落技术,我该如何实现我的目标呢?
在悬停,你必须更新填充属性。你不需要在hover中使用PHP代码。
提示:你在这里做的事真的不是个好主意。请了解ajax和MVC是什么。你不能用JavaScript写PHP