0

当我单击图像时,我有 2 个要隐藏和可见的 div。我已经结合使用 dojo 和 javascript。默认情况下,第一次加载页面时,2 个 div 将被隐藏。之后,如果我单击图像,div 是可见的。我的问题是,当我单击该页面中的任何选项卡时,总页面将被刷新并且 div 变得不可见。我希望即使在刷新页面或移动到该页面中的另一个选项卡之后,这 2 个 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>

请帮助我如何继续执行此操作。提前致谢!!!!

我尝试将 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>

而在身体上,

4

1 回答 1

0

您可以将 div 状态保存在本地存储中。例如,如果您想保存 foo1 div 状态。

localStorage["#foo1"] = true;

在页面加载时,您可以检查 localStorage["#foo1"] 是否为真,然后使 div 可见。

(可以在chrome->F12(开发者工具)->资源->本地存储中查看localStorage)


您的 checkDivState 函数是错误的,因为 localStorage["#foo1"] 将始终为真。让我纠正一下。

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

并在文档准备好时调用 checkDivState。也许它有帮助

于 2013-06-06T07:06:10.127 回答