javascript - 如何正确编写这个 window.history.go(-historyCount)

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

代码实际上写得正确! 罪魁祸首是我的浏览器。打开另一个浏览器并进入同一页面后,一切都按预期进行。感谢大家的帮助!

最佳答案

我认为可能发生的一个错误是,自事件定义以来,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/

相关文章:

javascript - JavaScript 中的显示/隐藏图像按钮问题

javascript - 多复选框过滤、JavaScript 和 jQuery

javascript - 使用javascript或jquery暂停youtube视频

jquery - Firebug 在调试时跳过 $(document).ready(function() 之后的行

javascript - 获取日期输入最大和最小日期

javascript - Google Play Store Apache Cordova 漏洞(Cordova 版本应高于 4.1)

JQuery - 当类绑定(bind)到 id 时 addClass

javascript - 渐变跟随鼠标但没有 catch

jquery - 有没有简单的方法可以获取 Bootstrap 4 中模态的数据

jquery - 如何防止 Chrome 中 focus() 上的文本选择