javascript - 为什么当我们在浏览器中按下后退按钮时 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 在这种情况下不起作用?
解决方案
您的页面上有 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)
推荐阅读
- javascript - 这个“和号运算符”如何在 JavaScript 中指向数组索引?
- javascript - 如何通过检查元素找到文件的位置?
- python - python中是否有与string.format()相反的用于从字符串中设置/提取值
- javascript - 如何验证文本输入中的字符是否为英文字符?
- flutter - Flutter/Dart:在这种情况下如何传递数据?
- c# - 谷歌视觉 OCR 返回太多信息
- angular - 角度多个复选框值
- typescript - 将返回值作为由其自己的函数体捕获的闭包变量传递时,如何获得正确的推断类型?
- python - Python正则表达式删除字母数字字符而不删除字符串末尾的单词
- google-cloud-firestore - 如何将参数动态添加到 Firestore 查询并映射到对象