在我正在编写的一段代码中,我需要用户根据购物车中的产品数量返回其历史记录。
所以我写了这段代码:
var productCount = $('.rdsubs-cart-name').length;
var historyCount = productCount + 1;
console.log(historyCount);
$("a.btn-continue").click(function() {
window.history.go(-historyCount);
});
但是正如我所料,这部分写错了。
window.history.go(-historyCount);
我不知道它的命名,所以我很难在 Google 中找到有关它的信息。所以我希望你们中的一个人能给我指出正确的方向!
谢谢!
更多信息:
当购物车中有 4 个产品并且用户删除 1 个产品时,它会重新加载页面。因此,当用户删除所有 4 个产品时,它也会重新加载页面 4 次。因此,如果用户点击继续购物,则需要返回到历史记录 5 页。否则,就会出现重新加载购物车的死循环。
当我写 window.history.go(-5);
时它可以工作,但是当我写 window.history.go(-historyCount);
时什么也没有发生。
代码实际上写得正确! 罪魁祸首是我的浏览器。打开另一个浏览器并进入同一页面后,一切都按预期进行。感谢大家的帮助!
最佳答案
我认为可能发生的一个错误是,自事件定义以来,productCount 已发生变化,但由于您正在检索事件外部的值,因此您没有使用最新值因此我们看到了意想不到的结果。
将 productCount 的检索移至事件函数中,看看是否可以解决您遇到的任何问题。
$("a.btn-continue").click(function() {
var productCount = $('.rdsubs-cart-name').length;
var historyCount = productCount + 1;
window.history.go(-historyCount);
});
关于javascript - 如何正确编写这个 window.history.go(-historyCount),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55615482/