show display:刷新后没有div

nah*_*hid 5 html javascript css jquery

不知道如何正确地提出问题标题!我有一个按钮点击显示的div.问题是,如果用户转到下一页(通过单击另一个按钮)然后返回到旧页面,则不显示div,因为页面已刷新,因此用户需要再次单击该按钮才能看到div.

在第一次点击按钮后有没有办法保持div显示?

<div id="tableDiv" style="display:none;" >
<table>
   <td>something</td>
</table>
</div>

<input type="button" value="Show" onClick="showTable()"/>

<script type="text/javascript">         
   function showTable() {
       document.getElementById('tableDiv').style.display = "block";
   }                
</script>
Run Code Online (Sandbox Code Playgroud)

emp*_*ric 12

你可以使用html5 webStorage:

localStorage没有过期,而sessionStorage在浏览器关闭时被删除(两者的使用是等价的).所有主流浏览器都支持webStorage,IE> = 8

简单的Javascript

function showTable() {
   document.getElementById('tableDiv').style.display = "block";
   localStorage.setItem('show', 'true'); //store state in localStorage
}
Run Code Online (Sandbox Code Playgroud)

并检查状态onLoad:

window.onload = function() {
    var show = localStorage.getItem('show');
    if(show === 'true'){
         document.getElementById('tableDiv').style.display = "block";
    }
}
Run Code Online (Sandbox Code Playgroud)

jQuery的

function showTable() {
    $('#tableDiv').show();
    localStorage.setItem('show', 'true'); //store state in localStorage
}

$(document).ready(function(){
    var show = localStorage.getItem('show');
    if(show === 'true'){
        $('#tableDiv').show();
    }
});
Run Code Online (Sandbox Code Playgroud)

演示

PS从localStorage使用中删除项目

localStorage.removeItem('show');
Run Code Online (Sandbox Code Playgroud)

参考

webStorage


epa*_*llo 5

使用localstorage来保存状态

<script type="text/javascript">         
   function showTable() {
       document.getElementById('tableDiv').style.display = "block";
       localStorage.setItem('showTable', true);  //set flag   
   }

   function hideTable() {
       document.getElementById('tableDiv').style.display = "none";
       localStorage.removeItem('showTable');  //remove key   
   }

   if (localStorage.getItem('showTable')) {  //see if flag is set (returns undefined if not set)
       showTable();   //if set show table
   }
</script>
Run Code Online (Sandbox Code Playgroud)