gpt4 book ai didi

jQuery:制作一个带有功能的收藏夹按钮?

转载 作者:行者123 更新时间:2023-11-30 23:52:47 26 4
gpt4 key购买 nike

现在我做了这个:

<a href="#" title="[+] Add as favorite"><div class="addFavorite"></div></a>

class="addFavorite",是一颗普通的灰色星星。

然后我有另一个类=“AlreadyFavorite”,那是一颗黄色的星星。

我想创建一个函数,因此当您单击灰色星星时,它会发送一个ajax调用(?),然后成功后它会变成黄色(将类更改为AlreadyFavorite)。

我知道如何创建一个发送 ajax 调用的 onclick 函数,但是如何更改样式/将图像图标更改为黄色?

CSS:

.addFavorit{
background: url('../images/addFavorit.png');
width: 48px;
height: 48px;

}
.alreadyFavorit{
background: url('../images/addFavorit_hover.png');
width: 48px;
height: 48px;
}

最佳答案

尽可能不要重复并避免不需要的元素:

HTML:

<a href="#" id="fav" title="[+] Add as favorite">&nbsp;</a>

CSS:

a#fav{
background: url('../images/addFavorit.png');
display: block;
width: 48px;
height: 48px;

}

a#fav.active{
background: url('../images/addFavorit_hover.png');
}

JavaScript

function addFav(){
$.ajax({
url: "/favorites/add",
data: {"id": articleID},
success: function(){
$('a#fav')
.addClass('active')
.attr('title','[-] Remove from favorites')
.unbind('click')
.bind('click', removeFav)
;
}
});
}

function removeFav(){
$.ajax({
url: "/favorites/remove",
data: {"id": articleID},
success: function(){
$('a#fav')
.removeClass('active')
.attr('title','[+] Add as favorite')
.unbind('click')
.bind('click', addFav)
;
}
});
}

//this will make the link listen to function addFav (you might know this already)
$('a#fav').bind('click', addFav);

第一次点击链接时,addFav()中指定的url将被调用,处理成功后将调用success中定义的函数。结果:

<a href="#" id="fav" class="active" title="[-] Remove as favorite">&nbsp;</a>

由于重新绑定(bind),第二次点击将调用 removeFav()。结果将是:

<a href="#" id="fav" class="" title="[+] Add as favorite">&nbsp;</a>

之后,由于您的服务器无法正常工作,这将是一个无限循环。

关于jQuery:制作一个带有功能的收藏夹按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3626350/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com