将变量标志重置为原始状态
Reset Variable Flag to original state
当用户清空购物车时,它会删除所有项目并重新加载页面。页面将重新加载以重置已激活的按钮(所有具有 .button 类的按钮都将重置为原始状态)应该有一种方法可以重置按钮而无需重新加载页面。代替执行位置的函数.reload,有一个函数可以将所有标志重置为"99美分.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>
将原始状态也存储在数据中。 调用 reloadFunction 时,可以从此属性检索状态并替换源属性。
在 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'));
});
}
在对jquery进行了一些研究之后,我发现有一种方法可以使用,称为.removeData();有了这个,我能够通过在空购物车按钮中添加一个名为".empty"的类来实现所需的任务。这是我想出的有效的方法:
$(".empty").on('click', function(){
$(".button").attr("src", "99cents.png");
$(".button").removeData();
});
.removeData() 能够清除所有内容而无需刷新页面!
谢谢!
相关文章:
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- 使用jQuery从原始页面内容创建iframe
- 从客户端获取修改后的对象,并将其与服务器上的原始对象组合
- 我如何制作一个JS函数,它可以从相似的原始颜色双向更改为某个颜色
- 查找仅适用于原始图像的图像放大算法的名称
- 如何在使用Javascript浏览网站时处理原始窗口
- markrwithlabel.js(第三方)原始文件链接断开
- 在Javascript中重新分配对象变量时,原始对象会发生什么
- 如何在玩TimelineMax(GSAP)后重置原始位置
- 在编译阶段后创建新的DOM树,或者继续使用原始修改的DOM
- 原始javascript将json对象中的项目打印到列表中的屏幕上
- 我们可以用参数对象集合而不是原始数据来调用JavaScript collection.reduce()方法吗
- django没有访问控制允许删除原始标头
- JQuery:使用clone()生成的元素不采用原始的事件属性
- HTML5 Canvas访问控制允许原始错误
- 如何使用JavaScript粘贴原始二进制文件而不出现“无效字符”错误
- 如何使用JavaScriptLib将字符串(WYSIWYG)转换为原始html
- 从ajax请求中获取原始文本
- 获取原始HTML并将其重新呈现为HTML
- 我如何获得“”的原始位置;ui“可拖动”;在“;drop”;事件