【发布时间】:2018-11-18 01:29:35
【问题描述】:
我有一张图片,希望它的背景发生变化,并从整个光谱中顺序地反复获取随机颜色,直到用户的鼠标退出图片。我想解决方案应该使用 setInterval (see this) 并且以下内容会有所帮助:
var red = Math.round(Math.random() * 255);
var green = Math.round(Math.random() * 255);
var blue = Math.round(Math.random() * 255);
var bg = "background-color: rgb(" + red + "," + green + "," + blue + ");";
x.style = bg;
Here is a fiddle trying to implement what I have in mind: 第一个笑脸应该在onMouseOver 上改变颜色并在onMouseOut 上恢复正常。
这是我的想法:我想实现FontAwesome.com do on their logo at their footer:它会在鼠标悬停时改变颜色,否则会停止。但这不是图片,而是字体(?)。相反,我有一个透明的徽标,我想动态更改背景,以便它复制 Fontawesome 的精彩技巧。有什么想法吗?
* 更新 *
我将根据社区的回答在下面发布我的问题的详细解决方案。看起来我遵循了 Leo 的方式,但 Rakibul 的解决方案也很有效。
【问题讨论】:
-
您可以使用带有关键帧的 css3 动画。见stackoverflow.com/questions/10843880/…
-
谢谢!我确实知道如何将图片的背景更改为 A 颜色 (see here)。相反,我要求重复应用颜色生成函数 onMouseOver,这将使图片的背景采用多种颜色,然后在鼠标输出上停止。提前谢谢你。
-
您好,您可以在
hover上使用animation-play-state: pause -
谢谢@LeoCaseiro,yes that is towards the right direction。你能用一个完整的示例代码来回复我发布的问题的参数吗?提前致谢。
标签: javascript html css nested