Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/34.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 刷新页面后Dojo Div切换视图_Javascript_Css_Image_Dojo - Fatal编程技术网

Javascript 刷新页面后Dojo 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

我有两个div,当我点击图片时,它们是隐藏和可见的。我使用dojo和javascript的组合实现了这一点。默认情况下,第一次加载页面时,这两个div将被隐藏。之后,如果我点击图片,div是可见的。我的问题是,当我点击该页面中的任何选项卡时,整个页面将被刷新,div将变得不可见。我希望这两个div即使在刷新页面或移动到该页面的另一个选项卡后仍然可见,直到和除非我单击图像

以下是我的代码:

<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”);}