繁体   English   中英

有没有办法获取一些可以切换div的Javascript代码,以便在返回该页面时打开与我离开时相同的div?

[英]Is there a way to take some Javascript code that toggles divs and make it so when i return to that page, the same div is open that was when I left?

有没有办法获取一些可以切换div的Javascript代码,以便在返回该页面时打开与我离开时相同的div?

我正在使用此脚本:

(function() { // using an IIFE to prevent polluting the global namespace
    var opened_element = null;

    window.toggle_visibility = function(id) {
        var e = document.getElementById(id);
        if (opened_element && opened_element !== e) {
            opened_element.style.display = 'none';
        }
        if(e.style.display == 'block') {
            e.style.display = 'none';
        } else {
            e.style.display = 'block';
        }
        opened_element = e;
    };
}());

关于HTML的任何涉及短语“并保持页面之间的关系”的问题都需要提醒一下HTML如何是无状态的 您将需要某种形式的特殊变量来跟踪页面之间的内容,并基于此适当地呈现页面。 您的选择包括:

  • 饼干。
  • PHP / Java服务器的“会话”变量。 (即$ _SESSION ['divShowing'])
  • localStorage(JavaScript;在旧版浏览器上不支持。如果您不想在浏览器会话之间进行维护,也可以使用sessionStorage)

例如,您可以使用LocalStorage来保存当前打开的div(但是它只能在新的浏览器中使用;如果必须支持IE <= 8之类的smth,则应改用cookie)。

function toggle_visibility(id) {
    var e = document.getElementById(id), opened_element = document.getElementById(localStorage.opened_element);
    if (opened_element && opened_element !== e) {
        opened_element.style.display = 'none';
    }
    if(e.style.display == 'block') {
        e.style.display = 'none';
    } else {
        e.style.display = 'block';
    }
    localStorage.opened_element = e.id;
};
if (localStorage.opened_element) {
    toggle_visibility(localStorage.opened_element);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM