Javascript 刷新页面后Dojo Div切换视图
我有两个div,当我点击图片时,它们是隐藏和可见的。我使用dojo和javascript的组合实现了这一点。默认情况下,第一次加载页面时,这两个div将被隐藏。之后,如果我点击图片,div是可见的。我的问题是,当我点击该页面中的任何选项卡时,整个页面将被刷新,div将变得不可见。我希望这两个div即使在刷新页面或移动到该页面的另一个选项卡后仍然可见,直到和除非我单击图像 以下是我的代码:Javascript 刷新页面后Dojo Div切换视图,javascript,css,image,dojo,Javascript,Css,Image,Dojo,我有两个div,当我点击图片时,它们是隐藏和可见的。我使用dojo和javascript的组合实现了这一点。默认情况下,第一次加载页面时,这两个div将被隐藏。之后,如果我点击图片,div是可见的。我的问题是,当我点击该页面中的任何选项卡时,整个页面将被刷新,div将变得不可见。我希望这两个div即使在刷新页面或移动到该页面的另一个选项卡后仍然可见,直到和除非我单击图像 以下是我的代码: <script type="text/javascript"> function tog
<script type="text/javascript">
function toggleDivs(){
console.info("info message");
if( dojo.style(dojo.byId('foo'), "display") == "block"){
dojo.style(dojo.byId('foo'), "display", "none");
dojo.style(dojo.byId('foo1'), "display", "none");
} else {
dojo.style(dojo.byId('foo'), "display", "block");
dojo.style(dojo.byId('foo1'), "display", "block");
}
}
</script>
<div class="wpthemeRight" id="foo1" style="display: none">
</div>
<div class="wpthemeBanner" id="foo" style="display: none">
</div>
<div id="ibm-tools" style="display: block;" aria-label="Ibm tools" class="">
<a href="#" onclick="toggleDivs();"><img src="./images/gear.jpg"></a>
</div>
函数toggleDivs(){
控制台信息(“信息信息”);
if(dojo.style(dojo.byId('foo'),“display”)=“block”){
style(dojo.byId('foo'),“display”,“none”);
style(dojo.byId('foo1'),“display”,“none”);
}否则{
style(dojo.byId('foo'),“display”,“block”);
style(dojo.byId('foo1'),“display”,“block”);
}
}
请帮助我如何进行这项工作。
提前感谢
我曾尝试在localstorage中保存div状态,但没有成功 代码如下:
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/dojo/1.8/dojo/dojo.js"></script>
<script type="text/javascript">
function checkDivState(){
localStorage["#foo1"] = true;
f(localStorage["#foo1"] = true)
{
dojo.style(dojo.byId('foo'), "display", "block");
dojo.style(dojo.byId('foo1'), "display", "block");
}
}
else
{
dojo.style(dojo.byId('foo'), "display", "none");
dojo.style(dojo.byId('foo1'), "display", "none");
}
}
</script>
函数checkDivState(){
localStorage[“#foo1”]=true;
f(localStorage[“#foo1”]=true)
{
style(dojo.byId('foo'),“display”,“block”);
style(dojo.byId('foo1'),“display”,“block”);
}
}
其他的
{
style(dojo.byId('foo'),“display”,“none”);
style(dojo.byId('foo1'),“display”,“none”);
}
}
在身体上,
您可以将div状态保存在本地存储器中。例如,如果要保存foo1 div状态
localStorage["#foo1"] = true;
在页面加载时,您可以检查localStorage[“#foo1”]是否为true,然后使div可见
(您可以在chrome->F12(开发者工具)->资源->本地存储中查看本地存储)
您的checkDivState函数是错误的,因为localStorage[“#foo1”]始终为true。 让我纠正一下
<script type="text/javascript">
function toggleDivs(){
console.info("info message");
if( dojo.style(dojo.byId('foo'), "display") == "block"){
localStorage["#foo1"] = false;
dojo.style(dojo.byId('foo'), "display", "none");
dojo.style(dojo.byId('foo1'), "display", "none");
}
else {
dojo.style(dojo.byId('foo'), "display", "block");
dojo.style(dojo.byId('foo1'), "display", "block");
localStorage["#foo1"] = true;
}
}
function checkDivState(){
f(localStorage["#foo1"] = true)
{
dojo.style(dojo.byId('foo'), "display", "block");
dojo.style(dojo.byId('foo1'), "display", "block");
}
}
else
{
dojo.style(dojo.byId('foo'), "display", "none");
dojo.style(dojo.byId('foo1'), "display", "none");
}
}
函数toggleDivs(){
控制台信息(“信息信息”);
if(dojo.style(dojo.byId('foo'),“display”)=“block”){
localStorage[“#foo1”]=false;
style(dojo.byId('foo'),“display”,“none”);
style(dojo.byId('foo1'),“display”,“none”);
}
否则{
style(dojo.byId('foo'),“display”,“block”);
style(dojo.byId('foo1'),“display”,“block”);
localStorage[“#foo1”]=true;
}
}
函数checkDivState(){
f(localStorage[“#foo1”]=true)
{
style(dojo.byId('foo'),“display”,“block”);
style(dojo.byId('foo1'),“display”,“block”);
}
}
其他的
{
style(dojo.byId('foo'),“display”,“none”);
style(dojo.byId('foo1'),“display”,“none”);
}
}
并调用documentready上的checkDivState。
也许它有帮助我尝试过在localstorage中保存div状态,但没有Luckhe代码:函数checkDivState(){localstorage[“#foo1”]=true;f(localstorage[“#foo1”]=true){dojo.style(dojo.byId('foo'),“display”,“block”);dojo.style(dojo.byId('foo1'),“display”,“block”)}其他{dojo.style(dojo.byId('foo'),“display”,“none”);dojo.style(dojo.byId('foo1'),“display”,“none”);}