我有一个带有 Accordion javascript的管理页面来显示/隐藏div。

<div class="accordion">
    <h2>Pending</h2>
    <div id="pending" class="accordion-item">PARTIALVIEW</div>
    <h2>Current</h2>
    <div id="current" class="accordion-item">PARTIALVIEW</div>
    <h2>All</h2>
    <div id="all" class="accordion-item">PARTIALVIEW</div>
</div>

当他们删除项目时,页面会刷新,并且它们会重新折叠。我想让它记住哪些是打开的,哪些是关闭的。

Accordion javascript给出了div style="display: none"style="display: block"
有没有一种方法可以在重新加载页面之前获取样式,并在重新加载页面后应用样式?

最佳答案

如果您想在页面上主动查看样式和更改,建议您使用Firebug(FireFox插件)。

至于保存状态,有两种方法。第一种是AJAX方法。第二种是仅基于JS的基于cookie的方法。

对于AJAX方法,您需要编写一个JS函数,只要状态更改,该函数就会触发。然后,此方法通过快速的幕后查询将所有可折叠选项的状态发送到服务器。然后,服务器将该信息保存到 session 变量中。然后,在重新加载页面时,服务器可以为该页面上的每个项目植入具有最后已知状态信息的JS数组。

对于第二种方法,您必须设置一个cookie,该cookie包含具有所有项目状态的变量。这可以是一个简单的数组。除了将数据保存在客户端浏览器而不是服务器上之外,此方法与AJAX方法相同。您从Cookie阵列而不是服务器阵列获取状态。

对于这两种方式,我都建议使用JQuery库。对于cookie方法,我建议对JQuery使用Cookie插件(http://plugins.jquery.com/project/Cookie)。这是关于此的快速howto文章:http://jquery-howto.blogspot.com/2010/09/jquery-cookies-getsetdelete-plugin.html

jQuery-http://jquery.com/
jQuery UI-http://jqueryui.com/
Visual JQuery(一个很好的,易于使用的JQuery引用)-http://visualjquery.com/
Firebug -http://getfirebug.com/
Firefox-(切勿离开家而已)http://www.mozilla.com/en-US/firefox/fx/

关于c# - 如何在asp.net页面上获取元素的样式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6538034/

10-12 00:07
查看更多