当用户清空购物车时,它会删除所有商品并重新加载页面。页面将重新加载以重置激活的按钮(具有.button类的所有按钮将重置为原始状态)应该有一种方法可以重置按钮而无需重新加载页面。而不是函数预先形成location.reload是否有一个函数可以将所有标志重置为“99cents.png”
<script>
$(".button").on('click', function(){
var flag = $(this).data('flag');
simpleCart.add({
name : $(this).attr("data-product-id"),
price : .99,
quantity : (flag ? -1 : 1)
});
$(this).attr("src", flag ? "99cents.png" : "m99cents.png");
$(this).data('flag', !flag);
});
function reloadFunction() {
location.reload();
}
</script>
答案 0 :(得分:0)
也将原始状态存储在数据中。调用reloadFunction时,可以从此属性检索状态并替换source属性。
在html中:
<img class="button" src="originalsrc.png" />
在javascript中:
$(function(){
$(".button").each(function(i,el)
{
var el = $(this);
el.data('flag-original', el.attr('src'));
});
});
function reloadFunction() {
$(".button").each(function()
{
var el = $(this);
el.text(el.data('flag-original'));
});
}
答案 1 :(得分:0)
在对jquery进行一些研究之后,我发现有一种方法可以使用.removeData();,我可以通过向空购物车按钮添加一个名为“.empty”的类来实现所需的任务。以下是我提出的有效方法:
$(".empty").on('click', function(){
$(".button").attr("src", "99cents.png");
$(".button").removeData();
});
.removeData()能够清除所有内容而无需刷新页面!
谢谢!