基本上,有一个 img
与 src
.svg 图像。我想做的是慢慢地(轻松 0.2 秒)将它的颜色从黑色更改为白色。
因为它不是内联 <svg>
, 我不能简单地改变 fill
CSS 中的颜色。
我尝试更改 img src
到这张图片的白色副本,但那样我就不会有过渡。
我可以使用交叉淡入淡出技术,但我想保持简单并且不使用 position: absolute
.
所以,我想到了一个解决方案。我在 hover()
中更改了 PHP 变量的颜色jQuery 函数,然后是 echo
该变量在 .svg 图像本身内部如此: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" />
那么我该怎么做呢?如果不可能——或者你知道更好的方法——那么,如果没有交叉渐变技术,我将如何实现我的目标?
最佳答案
在悬停中,您必须更新填充属性。悬停时不需要该 PHP 代码。
提示: 你在这里做什么真的不是一个好主意。请找出什么是 ajax 和 MVC。您不能在 JavaScript 中编写 PHP。
关于javascript - 如何将 "connect"PHP "network"转换为 .svg 图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32149074/