2012-10-13 134 views
2

我想在我的网站上制作手风琴,类似于看到here。然而,每当我点击手风琴的地方,它不会下降,而是将我链接到my_url#collapseOne(或者两个或三个,取决于我点击哪一个)。而且,当我加载网页时,菜单1已经被删除(不可取),另外两个看起来是正确的。twitter引导手风琴

关于如何正确实现手风琴效果的任何想法?

+2

向我们展示您的标记,我们无法通知您没有标记时出错。 – ncremins

+0

您可以按照[doc](http://twitter.github.com/bootstrap/)上的说明开始操作javascript.html#collapse),并且不要忘记检查是否包含jQuery和插件文件 – Sherbrow

+0

我扭曲的标记是我粘贴到我的代码中的标记。我的代码虽然很长,但我不确定其他部分是相关的。我想我最为困惑的是,为什么当它被点击时链接到了url +'#collapseNumber',并且将页面滚动到那个位置。我认为这样做的唯一原因是因为在代码的早些时候,我有一个顶级菜单,您可以点击它并链接到哈希标记的hrefs。 [稍微更新的标记](http://jsfiddle.net/gqe7g/244/),不知道它是否有帮助。 – user1253952

回答

1

因此,有你需要做的

  1. 当文档准备好两件事情,你需要初始化你的手风琴。这意味着你将通过所有的手风琴容器并初始化它们以关闭。

  2. 您会将点击事件处理程序附加到打开/关闭手风琴的链接。为了防止浏览器跟随这些链接,您应该从那些事件处理程序返回false,这会阻止事件再冒泡。这将阻止浏览器关注链接。

+1

你不需要这样做,因为插件做到了。您需要初始化手风琴,但您可以激活所有手风琴,甚至可以使用标记'data-toggle =“collapse”',这样就不需要任何JavaScript:[doc](http:// twitter。 github.com/bootstrap/javascript.html#collapse)。 – Sherbrow

+0

这是我的假设,OP是试图制作一个自定义的手风琴,因为他们只是工作。这个例子包含了所有要求的内容。也许很高兴看到一些源代码。 –

+0

对不起,我对网页设计了解不多。我把我发布的标记放在我的代码中,结果如上所述。我不确定在标记中还有什么用处。我也发现它奇怪的是它重定向到URL后面加上'#collapseNumber'。在我的代码早些时候,我在顶部有一个菜单,它链接到页面后面的地方,这些地方是散列标记的hrefs。 – user1253952

1

http://twitter.github.com/bootstrap/javascript.html#collapse。如果您定制了引导程序安装,请确保您具有所需的文件。如果您在资产管道中使用twitter-bootstrap-rails gem,那么您应该很好地放下代码并查看它的工作方式。

+0

我的确有必需的文件。 [This](http://i.imgur.com/1jwGB.png)就是当我拖放写在您链接到的网站上的html时的样子。同时点击它们会导致页面链接到它们。即,它转到url +'#collapseNumber'。 – user1253952