Fill color in icons
我是 css 和 jquery 的新手。我想在图标中填充颜色。例如,像 instagram 的心形图标(双击时会填充红色)。
我也使用了很棒的字体。所以我能够得到心形图标,但我无法按照我想要的方式填充颜色。我尝试更改背景颜色属性,但它也不起作用。
问题是,当用户点击心形图标时,它应该被红色填充。可以指导一下吗?
1
|
My html file
|
1
2 3 4 5 6 7 8 9 10 11 |
<!DOCTYPE html> <html> <head> <script type="text/javascript" src="all.js"> </head> <body> |
1 | all.js file is the file i downloaded for icons. |
如果这不起作用,我应该使用什么来代替 font awesome?
你为什么要重新发明轮毂?您无需使用自己的样式来管理它。
事实上,FontAwesome 为每个图标提供了不同的类,例如,对于
所以只需使用 jQuery 代码在图标的
1
2 3 4 |
$("#heart").click(function() {
$(this).toggleClass(‘fa-heart-o’); $(this).toggleClass(‘fa-heart’); }); |
演示:
1
2 3 4 |
$("#heart").click(function() {
$(this).toggleClass(‘fa-heart-o’); $(this).toggleClass(‘fa-heart’); }); |
1
2 3 4 5 |
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" /> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"> <i class="fa fa-heart" id="heart"> |
你可以给元素添加一个css类来设置它的外观。在我的示例中,我向元素添加了单击侦听器,并且只是切换了 CSS 类。
JS代码:
1
2 3 4 5 6 |
(function() {
const heart = document.getElementById(‘heart’); heart.addEventListener(‘click’, function() { heart.classList.toggle(‘red’); }); })(); |
示例链接:
你需要在图标中添加onlick函数,并创建一个函数来改变这个图标的颜色。
1
|
<i class="far fa-heart" onclick="changeColor()" id="heart" style="color: green; background-color: red">
|
你的js应该是这样的:
1
2 3 4 5 |
function changeColor()
{ var icon = document.getElementById(‘heart’); icon.style.color ="red"; } |
使用 jquery
1
2 3 |
$("#heart").on("click", function() {
$(this).toggleClass(‘oldColor’, ‘newColor’); }); |
1
2 3 4 5 6 7 |
.newColor { color: red; } .oldColor { |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"> <!DOCTYPE html> <html> <head> <body> </html> |
你可以像这样使用 onclick 属性:
1
|
<i class="far fa-heart" id="heart" onclick="changeColor()" style="color: green;">
|
并在您的脚本区域或文件中定义如下函数:
1
2 |
function changeColor() {
document.getElementById("heart").style.color ="red"; } |
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/268813.html