导航链接不起作用

时间:2015-08-09 11:34:04

标签: javascript jquery menu accordion sidebar

我的网站有一个侧栏可以跳转到项目。 它使用多个手风琴。 问题是它现在看到主页和关于按钮也是一个页面。 手风琴里面有一个手风琴,可以按年划分项目。 例如,2015年看起来像这样:

<div class="accordion-head">
    <div class="title">2015</div> <!-- <div class="arrow down"></div> -->
</div>
<div class="accordion-body">
    <ul id="menu-toc" class="menu-toc">
        <li><a href="#item3">Rules for graphic designer from photographer</a></li>
        <li><a href="#item4">Routine, But Antinomically Slipped</a></li>
        <li><a href="#item5">Visualization</a></li>
        <li><a href="#item6">Typographic fundamentals<br>An unconventional guide:<br>Table of Contents</a></li>
        <li><a href="#item7">Summer school</a></li>
        <li><a href="#item8">Dankjewel</a></li>
        <li><a href="#item9">Utopia is nearby dystopia</a></li>
        <li><a href="#item10">Vertical,horizontal,halfcircle</a></li>
        <li><a href="#item11">What I believe</a></li>
    </ul>
</div>

链接已连接到(item)标记 这就是页面的开头:

<div class="bb-item" id="item3">

所以它应该从菜单中跳转到那个页面。

有什么想法,为什么它不起作用?

这是该网站的网址: jungeunlee.net

谢谢

2 个答案:

答案 0 :(得分:0)

您要尝试滚动的元素 - 已隐藏! 这是你的代码:

<div class="bb-item" id="item4" style="display: none;">

首先使用JQuery到.show(),或者在滚动到元素之前使元素以其他方式可见。

具有display的元素:none属性不会在DOM中获取位置x,y因此无法滚动到它们!

答案 1 :(得分:0)

在page.js文件中,$ items和$ menuItems的内容不匹配。 $ items中的前两个元素是Homepage和About,这两个元素在$ menuItems中没有对应的元素。 $ items中的第三个元素是与$ menuItems中第一个元素匹配的元素。

所以,我想你可以通过改变这个来解决这个问题:

encoder

到此:

            jump = function() {
                bb.jump( idx + 1 );
            };

P.S。我认为锚链接中的href无效。以下内容:

            jump = function() {
                bb.jump( idx + 3 );
            };

可以替换为

<li><a href="#item3">Rules for graphic designer from photographer</a></li>

它仍然有用。