为什么当我们在浏览器中按返回按钮时,jquery不隐藏内容

时间:2018-06-29 15:05:45

标签: javascript jquery html browser

我正在索引页面上显示一个随机轮播。当我们刷新时,它工作得很好,但是当用户单击后退按钮以回到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在这种情况下不起作用?

1 个答案:

答案 0 :(得分:1)

您的页面上有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)

Documentation