【问题标题】:load different div with different conten and not reload the page?加载具有不同内容的不同div而不重新加载页面?
【发布时间】:2013-11-06 13:43:53
【问题描述】:

我有以下代码通过单击链接加载具有不同内容的不同 div。我的问题是如何编写以便每次单击链接时都不会重新加载页面。

#content > div {
    display: none;
}
#content > div:target {
    display: block;
}
<a href="#div1">Div one</a>
<a href="#div2">Div two</a>
<a href="#div3">Div three</a>
<a href="#div4">Div four</a>

<div id="content">
    <div id="div1">This is div one</div>
    <div id="div2">This is div two</div>
    <div id="div3">This is div three</div>
    <div id="div4">This is div four</div>
</div>

【问题讨论】:

    标签: html href reload


    【解决方案1】:

    你可以在链接标签中添加onclick事件,然后在js函数clickFun()中你可以做一些逻辑来显示和隐藏特定的div区域。

    【讨论】:

    • 我该怎么做?
    • 简单的方法是使用 jquery 或在单击链接时将 document.getElementById("divid").style.display="none" 添加到函数中,然后显示一个 document.getElementById(" elementId").style.display="block".
    【解决方案2】:

    您可以使用 jquery 隐藏 3 个 div 并显示另一个(如果它们不是太大而无法呈现),或者如果它们基本上是您想要在它们之间切换的整个页面,则可以使用引导选项卡或类似的选项

    【讨论】:

    • 我可以不使用javascript来做到这一点吗?
    【解决方案3】:

    您应该将document.location.hash 设置为您的锚。例如 div1 链接:

    <a href="javascript:void(0)" onclick="document.location.hash='#div1'; return false;">Div one</a>
    

    EDIT> 因为以前的代码不断重新加载页面。以下方法(灵感来自其他答案的建议)似乎适合:

    <a href="javascript:void(0);" onclick="$('#div1').show().siblings().hide();return false;">Div one</a>
    

    http://jsfiddle.net/5XqyX/

    【讨论】:

    • 我可以不使用javascript来做到这一点吗?
    • 其实我不这么认为。
    • 我的错,在 onclick 内容的末尾添加return false;stackoverflow.com/questions/17680436/…
    • 您确定,页面还在重新加载吗?对不起!
    • 嗯,我可能还没有理解你真正的问题。当您说页面“重新加载”时,究竟见证了什么?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-18
    • 2016-04-19
    • 1970-01-01
    • 2013-11-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多