我添加到产品的愿望列表中。(django项目)如果用户将一个产品添加到这个列表中,就点击一个心形图标。如果用户已经将此产品添加到列表中,则心图标为红色,如果此产品不在用户收藏夹列表中,则心图标为白色。每次移除或将图标添加到列表中时,我都想更改图标的颜色。在我写的代码中,这个操作只做一次,如果它同时再次点击,颜色不会有任何变化。
{% if request.user in product.favourite.all %}
<a href="{% url 'home:favourite' product.id %}"
class="favourite-product fa-btn{{ product.id }}"
data-id='{{ product.id }}' data-text="remove">
<i class="fa fa-heart test{{ product.id }}" style="color:red"></i></a>
{% else %}
<a href="{% url 'home:favourite' product.id %}"
class="favourite-product fa-btn{{ product.id }}"
data-id='{{ product.id }}' data-text="add">
<i class="fa fa-heart test{{ product.id }}" style="color:#eee;"></i></a>
{% endif %}
# ajax
$(document).on('click', '.favourite-product', function (e) {
e.preventDefault();
const likeText = $(`.fa-btn${product_id}`).attr("data-text");
const trim = $.trim(likeText)
$.ajax({
url: $(this).attr('href'),
type: 'GET',
data: {
'product': product_id
},
success: function (response) {
if (trim === 'add') {
$(`.test${product_id}`).css({"color": "red"});
} else {
$(`.test${product_id}`).css({"color": "#eee"});
}
},
error: function (response) {
alert("error");
}
});
});
可以使用selector.data(“text”,“remove”)
更改data-atr值的文本。此外,您还可以使用$(this)
,其中$(this)
引用a
标记,单击该标记可获得数据(“text”)
以及数据(“id”)
的值,然后将其传递给ajax调用。
演示代码:
null
js lang-js prettyprint-override">$(document).on('click', '.favourite-product', function(e) {
e.preventDefault();
var selector = $(this)
var data_id = $(this).data("id") //to get data attr
var likeText = $(this).data("text"); //get text
var trim = $.trim(likeText)
console.log(data_id + " " + likeText)
/*$.ajax({
url: $(this).attr('href'),
type: 'GET',
data: {
'product': data_id //pass data_id
},
success: function(response) {*/
//compare
if (trim === 'add') {
//change i colour
selector.find("i").css({
"color": "red"
});
//change text
selector.data("text", "remove")
} else {
///same as above
selector.find("i").css({
"color": "#eee"
});
selector.data("text", "add")
}
/* },
error: function(response) {
alert("error");
}
});*/
});
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.2/css/all.min.css" integrity="sha512-HK5fgLBL+xu6dm/Ii3z4xhlSUyZgTT9tuc/hSrtw6uzJOvgRr2a9jyxxT1ely+B+xFAmJKVSTbpM/CuL7qxO8w==" crossorigin="anonymous" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<a href="{% url 'home:favourite' product.id %}" class="favourite-product fa-btn1" data-id='1' data-text="remove">
<i class="fa fa-heart test1" style="color:red"></i></a>
<a href="{% url 'home:favourite' product.id %}" class="favourite-product fa-btn2" data-id='2' data-text="add">
<i class="fa fa-heart test2" style="color:#eee"></i></a>
我创建了一个包含单个项目的菜单。 这是我在工具栏中的一些活动中使用的,单击时它会下拉一个菜单,目前只有一个选项,但将来可能会更多。 除了图标外,一切都很好,它是传统3点白色的矢量图像。根据showAsAction在更改颜色时的设置。 目前show AsAction设置为从不,因此单击时会显示一个菜单,这就是我想要的,但是图标变为深灰色。如果我将此选项设置为“始终”,则图标变为白色,但我丢失了下拉菜
我已经在我的应用程序上集成了底部栏导航栏。但是当我刷的时候,Tab的颜色不会改变。很奇怪因为我有选择器文件。有什么解决这个问题的主意吗?
问题内容: 如何更改图标的内部(白色)颜色 ? PS应用不是答案,因为红色适用于外部颜色,而不适用于内部感叹号白色标牌本身。 真棒字体版本是:4.7.0。 问题答案: 此图标的感叹号是透明的部分,因此一个技巧是在其后面添加背景以具有所需的颜色。当然,背景不应该覆盖整个区域,因此我们需要使用渐变来覆盖其中的一部分。 V4也是如此: 也是SVG版本: 更新 为了使答案更通用,我们还可以考虑多个背景和径
如何更改UIkit图标的颜色。我正在使用react组件。具体地说,我想改变分隔图标的颜色:https://getuikit.com/docs/divider 谢了。
我通过图像视图显示了程序中的图标。按下按钮时,黄色图标应变为红色。我尝试了所有方法,但没有一个有效。...背景颜色...他把图像视图变成红色,呈全正方形。我只想让图标改变颜色。这是非常困难的'请帮忙。谢谢。 我的代码:
我正在使用带有的,我想知道如何最有效地更改TabLayout中选定选项卡的图标的颜色。 谷歌的Youtube应用程序是如何实现这一点的完美参考。在主页上,有四个深灰色图标。选择特定选项卡后,选项卡图标变为白色。 没有任何第三方库,我怎样才能达到同样的效果? 一个可能的解决方案显然是用选择器。但是在这种情况下,我必须找到图标的白色和灰色版本,然后在选项卡被选中或取消选中时切换图标。我想知道是否有一个