同一文件夹中有两个html文件。 file1.html file2.html 问题是在文件2中打开特定的分区,该分区通过单击文件1中的类来隐藏。
在file1中有一个“ back”类,在file2中有一个ID为“ content-3”的分区。我正在尝试编写一个函数,当单击file1中的“ back”类时,它将取消隐藏file2中的“ content-3”分区。
$('body').on('click', '.back', function() {
window.location.href = "file2.html";
$('#content-3').show();
});
它将打开file2。但是它没有显示文件2中的划分。
答案 0 :(得分:1)
原因是每个页面都有其自己的窗口,而第二页打开时第一页中的javascript消失了
您可以在网址中添加一个哈希,然后在第二页中检查该哈希
$('body').on('click', '.back', function() {
window.location.href = "file2.html#content-3";
});
在其他页面上:
$(function(){
var hash = location.hash
if(hash && hash !=='#'){
$(hash).show()
}
})
答案 1 :(得分:0)
当您更改网站的href并加载新页面时,正在运行的JavaScript将停止。这意味着$('#content-3').show();
不会被执行。相反,您可能想提供要通过url或querystring显示的值。
答案 2 :(得分:0)
从click事件中删除显示代码。
分别添加以下条件逻辑:
if(window.location.href === yourpage.com) { $('#content-3').show() }
确保您的其他页面可以访问您的Javascript文件。