0

我有一个 jQuery 手风琴,当我需要在其中一个滑动开放区域放置一个 div 标签时它会中断。我该如何解决这个问题?我需要放置一个 div 标记,因为我无法用跨度标记制作一个漂亮的盒子。有谁知道解决这个问题的方法??

请在此处查看我的演示,看看它在哪里中断:(

http://jsfiddle.net/zRqYM/

4

6 回答 6

1

这似乎有点蹩脚,但您可以使用 aspan并将其设置为display: block. 那么它本质上是一个:http div: //jsfiddle.net/zRqYM/5/

于 2012-08-16T11:10:42.837 回答
1

为什么你不能把它放在一个跨度中并将跨度设置为一个带有显示块的漂亮盒子?

于 2012-08-16T11:12:10.337 回答
1

您可以使用跨度标签。您需要做的就是在 css 中为您的 span-tag 类添加以下样式

.whatever {
    border: 1px solid #000;
    display: inline-block;
    margin: 0 5px;
}
于 2012-08-16T11:13:04.200 回答
1

你可能应该改变这个:

$(this).next("p").slideToggle("slow")
       .siblings("p:visible").slideUp("slow");

到:

$(this).next("div").slideToggle("slow")
       .siblings("div:visible").slideUp("slow");

和CSS:

.accordion2 > div {
    background: #f7f7f7;
    /* etc... */

如果要将其他元素放入可扩展内容中,则使用 aDIV而不是更有意义:http: //jsfiddle.net/zRqYM/13/P

或者只是在标签内使用内联元素P并将它们设置为display:block;,但这对我来说没有语义意义。

于 2012-08-16T11:16:27.603 回答
1

有一种不同的方式来尝试你的手风琴而不用乱搞 CSS

完成HTML以下工作;

<div id='accordion'>
 <h3>Title of the view</h3>
 <div>
  all the stuff you want to do here
 </div>
 <h3>Title of the view</h3>
 <div>
  all the stuff you want to do here
 </div>
</div>

并使您的脚本文件为

 $('#accordion').accordion({ active: 0 });

欲了解更多信息:请访问http://jqueryui.com/demos/accordion

于 2012-08-16T11:16:59.560 回答
1

我已经更新了您的 jsfiddle: http: //jsfiddle.net/zRqYM/21/并将您的p标签更改为div标签,因为它允许最多标签嵌套。

作为一般规则,div标签不能位于p标签内部,因为它会导致p标签自行关闭。

于 2012-08-16T11:22:02.503 回答