首页 > 解决方案 > 为什么当我们在浏览器中按下后退按钮时 jquery 没有隐藏内容

问题描述

我在我的索引页上显示一个随机轮播。当我们刷新时它工作得很好,但是当用户单击后退按钮返回index.html两个轮播显示时,我的页面上有一些项目会将用户重定向到另一个页面。

这是代码:

$(document).ready(function() {
  var random = Math.floor(Math.random() * 2);
  if (random === 0) {
    $('#myCarousel').show();
    $('#my3').hide();
  } else {
    $('#my3').show();
    $('#my3').show();
    $('#myCarousel').hide();
  }
});

为什么 jQuery 在这种情况下不起作用?

标签: javascriptjqueryhtmlbrowser

解决方案


您的页面上有 2 个轮播,您使用此 JS 随机显示其中一个。

«点击后退按钮不会导致页面重新运行 javascript»,正如 Taplar 在评论中正确所说的那样。现在页面似乎返回到它在执行文档就绪处理程序之前的状态......


编辑

由于这个.remove()技巧也不起作用......

我会尝试只使用一个滑块。但根据随机数,替换或不替换图像幻灯片集。

所以你必须在一个数组中替换图像。

var replacementImageArray = ["assets/img/4.jpg", "assets/img/1.jpg", etc...]

然后在文件准备好时,检查随机数并继续更换......

$(document).ready(function() {
  var random = Math.floor(Math.random() * 2);
  if (random === 0) {
    $('#myCarousel').find("img").each(function(index){
      $(this).attr("src", replacementImageArray[index]);
    }
  }
});

免责声明:上面的脚本是一个未经测试的建议......就像一个策略提示。


奖金,代码“化妆品”和性能提示:

if (Math.random() >= 0.5) {

Math.random() 函数返回 0–1 范围内的浮点伪随机数(包括 0,但不包括 1)

文档


推荐阅读