Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 保持一个<;李>;在重新加载后展开以保持展开状态?_Javascript_Html - Fatal编程技术网

Javascript 保持一个<;李>;在重新加载后展开以保持展开状态?

Javascript 保持一个<;李>;在重新加载后展开以保持展开状态?,javascript,html,Javascript,Html,这是和。有可折叠列表,当您单击可折叠列表的内部列表时,它将向背面发出请求,并将呈现包含新数据的新模板 我想做的是,如果访问者选择了可折叠列表的一个内部列表,那么在加载新页面时,让该可折叠列表保持展开状态 我编辑了原始模板,但对javascript没有深入的了解,更不用说jQuery了,我很难弄清楚该处理什么 目标html {{yourBlogName}} 我认为触发崩溃的部分 <!-- jQuery CDN --> <scrip

这是和。有可折叠列表,当您单击可折叠列表的内部列表时,它将向背面发出请求,并将呈现包含新数据的新模板

我想做的是,如果访问者选择了可折叠列表的一个内部列表,那么在加载新页面时,让该可折叠列表保持展开状态

我编辑了原始模板,但对javascript没有深入的了解,更不用说jQuery了,我很难弄清楚该处理什么

目标html

{{yourBlogName}}
我认为触发崩溃的部分

<!-- jQuery CDN -->
<script src="https://code.jquery.com/jquery-1.12.0.min.js"></script>
<!-- Bootstrap Js CDN -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<script type="text/javascript">
    $(document).ready(function () {
        $('#sidebarCollapse').on('click', function () {
            $('#sidebar').toggleClass('active');
        });
    });
</script>


$(文档).ready(函数(){
$('sidebarCollapse')。在('click',函数(){
$(“#边栏”).toggleClass('active');
});
});

我尝试的内容:每次出现新页面请求时,我都使用Flask并尝试存储状态数据。我想可能是属性
aria expanded=“false”
负责折叠和展开,所以使用jinja模板将我的烧瓶数据应用于该属性。它不起作用,因为该属性最初不是折叠的触发器。也许我需要一种在javascript中存储数据的方法?

您需要存储状态,一种可能的方法是使用localstore并根据“加载新页面时”页面加载时存储的值重置状态,具体来说,您的意思是用户正在重新加载此页面吗?导航到新页面?还有别的吗?基本上,如果要跨页面持久化信息,高级方法是将该信息持久化到某个位置,例如可能在本地存储中,然后在目标页面中检查该信息并相应地更新页面。@David我指的是一个新请求。它将有一个不同的url,新数据将从背面收集并呈现到一个新页面中。通过存储,我可以想象1。单击展开将触发2。上面的代码使javascript数组保存当前状态3。该数组不会被破坏,但在加载新页面时会保持不变,因此在呈现页面时,我可以使用另一个js代码切换“展开”。我没有经验的是第三。加载新页面时html中的javascript代码是否会保留?@PuffedRiceCrackers:不,加载新页面时代码不会“保留”。从JavaScript的角度来看,加载页面本质上类似于打开应用程序。在页面加载之间需要保留的任何信息都需要在页面外部保留。看看JavaScript中的“本地存储”。它允许您读取和写入存储在浏览器中的数据。因此,一个页面可以写入一个值,另一个页面可以读取该值。@PuffedRiceCrackers另外,如果您在后端使用flask,则可能值得使用会话数据,并以属性的形式传递该信息。
<!-- jQuery CDN -->
<script src="https://code.jquery.com/jquery-1.12.0.min.js"></script>
<!-- Bootstrap Js CDN -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<script type="text/javascript">
    $(document).ready(function () {
        $('#sidebarCollapse').on('click', function () {
            $('#sidebar').toggleClass('active');
        });
    });
</script>