我有一个iFrame,可以在按钮点击时切换为可见或隐藏。我正在使用JQuery .toggle函数来执行此操作。目前,该区域的div默认通过CSS隐藏:style =“display:none”
一个新的要求是要求保存用户最近的显示或隐藏(选定的切换状态)以用于下一页加载,因此如果他们选择在上次显示iFrame时显示在主页上,他们下次访问它时默认可见。我想用cookie设置最后选择的切换状态,但我无法使其工作。以下是我的代码:
<meta charset="utf-8">
<title>drop demo</title>
<link rel="stylesheet" href="//code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css">
<style>
#toggle {
width: 100px;
height: 100px;
background: #ccc;
}
.button {
padding-top: 10px;
padding-right: 20px;
}
</style>
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
<button type="button" id="button"
title="Personalized Sales Dashboard">Show/Hide</button>
<div id="toggle" style="display:none" frameborder="2">
<iframe src="https://sample.com"="" id="myfr" scrolling="no" frameborder="0"
height="800px" width="100%">Your Browser Do not Support Iframe</iframe>
</div>
<script>
$("#button").click(function () {
$("#toggle").toggle("blind");
});
$(function () {
$("#button").tooltip();
});
</script>
答案 0 :(得分:1)
在按钮上设置一个cookie,点击div是否可见:
document.cookie = "toggleState=" + $("#toggle").is(':visible');
并在页面加载时检索它,相应地显示或隐藏内容:
var toggleState = document.cookie.replace(/(?:(?:^|.*;\s*)toggleState\s*\=\s*([^;]*).*$)|^.*$/, "$1");
if (toggleState == 'true') {
$("#toggle").show();
}
else {
$("#toggle").hide();
}
https://developer.mozilla.org/en-US/docs/Web/API/document.cookie