重定向到新的HTML页面后隐藏div

时间:2018-06-02 15:41:40

标签: javascript jquery html css3

我有两个html页面index.html和register.html 从index.html我需要转到register.html并在跳过选择区域后显示登录页面。下面是我正在尝试的代码。

$("#lgnToProfile").on("click", function(){
window.location.href = "register.html";
$("#slctRgn").hide();
$("#lgnPage").show();
});

任何人都可以检查并建议我如何解决这个以及我做错了什么?

我在Show DIV or Section after redirecting to html page提到了解决方案,但没有成功。

3 个答案:

答案 0 :(得分:1)

导航到新页面后,上一页上运行的Javascript都不再有任何效果。

您需要做的是,以某种方式告知register.html它需要隐藏选择区域div,然后将div隐藏在register.html中运行的脚本中。

例如,从index.html您可以添加查询字符串参数以通知register.html

$("#lgnToProfile").on("click", function() {
    window.location.href = "register.html?hideSlctRgn=1";
}

然后,从文件准备好的<{1}}, ,检查参数是否已设置并相应地隐藏div。

register.html

还有其他(更好的)方法来测试查询字符串参数是否存在,但上面的方法很简单。您可以设置cookie,也可以使用本地存储,而不是查询字符串参数。

答案 1 :(得分:1)

如果您不想修改网址路径,可以使用“localStorage”进行修改:

var currentPath = window.location.pathname;
var savedPath   = localStorage.getItem('previousPage');

// if a page has been saved yet
if (typeof savedPath === 'string') {

    // if the current page is "register.html" and the saved page is "index.html"
    if (currentPath.match('/register.html') && savedPath.match('/index.html')) {
        $("#slctRgn").hide();
        $("#lgnPage").show();
    }
}

// save current page
localStorage.setItem('previousPage', currentPath);

https://developer.mozilla.org/fr/docs/Web/API/Window/localStorage

答案 2 :(得分:0)

您需要检查引用页面以在下一页上采取进一步操作。因为JavaScript无法访问引用页面,所以您可以使用锚点或哈希来检查引用并显示/隐藏元素。

index.html上,您只需要添加哈希名称click的注册页面的链接(不需要register.html#referer jQuery事件)。单词referer可以是您想要的任何内容。

然后在register.html上,您需要评估哈希值:

$(document).ready(function() {

    // get the hash value
    var hash = window.location.hash;

    // if the hash is defined and it’s equal to “referer” (the choosen hash value)
    if(hash == "#referer") {

        // execute your code to show or hide elements

    }

});