如何编写此window.history.go(-historyCount)正确

时间:2019-04-10 14:46:27

标签: javascript jquery

在我编写的一段代码中,我需要用户根据购物车中产品的数量返回其历史记录。

所以我写了这段代码:

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);时却什么也没发生。

代码实际上是正确编写的! 罪魁祸首是我的浏览器。打开另一个浏览器并转到同一页面后,一切正常。我感谢每个人的帮助!

2 个答案:

答案 0 :(得分:1)

我认为可能发生的一个错误是自定义事件以来, productCount 发生了变化,但是由于您要检索事件外的值,因此您没有使用最新的值因此看到了意外的结果。

将对 productCount 的检索移到事件函数中,并查看它是否可以解决您遇到的任何问题。

$("a.btn-continue").click(function() {
  var productCount = $('.rdsubs-cart-name').length;
  var historyCount = productCount + 1;
  window.history.go(-historyCount);
});

答案 1 :(得分:0)

该代码实际上是正确编写的!罪魁祸首是我的浏览器。打开另一个浏览器并转到同一页面后,一切正常。我感谢每个人的帮助!