Javascript jQuery Accordion-在pageload上打开特定部分
我有一个页面上jQuery Accordion的基本实现(使用1.3.2、jQueryUICore1.72和jQueryUIAccordion 1.7.2),我希望在页面加载时打开第二部分。我尝试了很多方法,但似乎都不管用 总纲:Javascript jQuery Accordion-在pageload上打开特定部分,javascript,jquery,accordion,Javascript,Jquery,Accordion,我有一个页面上jQuery Accordion的基本实现(使用1.3.2、jQueryUICore1.72和jQueryUIAccordion 1.7.2),我希望在页面加载时打开第二部分。我尝试了很多方法,但似乎都不管用 总纲: <script type="text/javascript"> $(function() { $("#accordion").accordion({ event: "mouseover" }); }); $(函数(){
<script type="text/javascript"> $(function() {
$("#accordion").accordion({
event: "mouseover"
});
});
$(函数(){
$(“手风琴”)。手风琴({
事件:“鼠标悬停”
});
});
身体手风琴:
<div id="accordion">
<h3><a href="#">Headline 001</a></h3>
<div>
<ul>
<li><a href="#1">Link 001</a></li>
<li><a href="#2">Link 002</a></li>
</ul>
</div>
<h3><a href="#">Headline 002</a></h3>
<div>
<ul>
<li><a href="#3">Link 003</a></li>
<li><a href="#4">Link 004</a></li>
</ul>
</div>
任何帮助都将不胜感激
$("#accordion").accordion({ active: 2, event: "mouseover" });
你应该做这个把戏
更新
如果这不起作用,试试看
$("#accordion").accordion({ event: "mouseover" }).activate(2);
(注意:此更新速度更快,感谢您的评论。老实说,它应该与“active:2”参数一起工作,不知道为什么没有。)试试看
$("#accordion").activate(index);
下面的方法有效吗
$(function() {
$("#accordion").accordion({
event: "mouseover",
collapsible: true,
active: 2
});
});
我已经解决了这个问题,因为我必须创建一个menu.php,我已经包含了每个页面。在我们的项目中有一个手风琴(一个菜单元素,有两个子菜单)。因此,当访问者在子菜单上时,手风琴打开,所选链接(使用CSS而不是jQuery突出显示)处于活动状态。但是当访问者在不同的页面上时,手风琴工作正常 下面是javascript:
var containsParams = /teacher|student/i.test(window.location.href), //regexp with string params
accordion = $("li.accordion"); // the accordion as a global
accordion.accordion({ //accordion setup on every page
animated : !containsParams,
active : containsParams,
collapsible : true,
event : "click",
header : "h2"
});
//I like to use "self calling methods" since many times I need a main onload event and this way it's clear for every page and my main function still remains
(function () {
if (containsParams) accordion.accordion("activate", 0);
})();
希望你喜欢
致以最良好的祝愿!=] 打开特定选项卡的正确方式:
$("#accordion").accordion({
collapsible : true,
active : false,
heightStyle : "content",
navigation : true
});
设置选项:
//$("#accordion").accordion('option', 'active' , "INSERT YOUR TAB INDEX HERE");
$("#accordion").accordion('option', 'active' , 1);
或者您可以使用如下哈希:
if(location.hash){
var tabIndex = parseInt(window.location.hash.substring(1));
$("#accordion").accordion('option', 'active' , tabIndex);
}
如果您使用;,请投票
谢谢您应该编写
活动:1而不是2,因为accordio从0索引节,而不是从1索引节。工作代码如下所示:
$("#accordion").accordion({ active: 1, event: "mouseover" });
希望它能有所帮助。正如其他人所提到的,以下内容将使它在打开时处于活动状态:
$("#accordion").accordion({ active: 1 });
它是活动的:1,因为它是手风琴索引的第二个{0,1,2,…}
其他答案似乎有些混乱,因为元素的内容包含字符“2
”…,这只会导致手风琴打开两个片段!我错过了什么吗$手风琴({active:2,event:“mouseover”});这很奇怪,手风琴不能一次打开多个物品!我知道。。。现在根本不起作用了。。。javascript肯定有问题;更新工作,但关闭所有手风琴。。。。!已将索引修改为0并已解析。。。。非常感谢!更新不是很慢吗?如中所示,第一次连接手风琴,然后再次运行整个过程以激活索引。另外,Darman的答案在你创建它之后会是一个更快的方法,即:$('#accordion').accordion({event:“mouseover”})。activate(2)
不确定这是什么时候做的,但是activate索引是基于0的,所以对于这个问题,用户会使用active:1
我喜欢这个答案,因为它演示了在稍微复杂的情况下的用法。