jQuery手风琴 - 访问时打开的第一个标签

时间:2011-10-24 09:32:46

标签: javascript jquery html

我最近在线上传了我的个人投资组合网站(www.edwardmanson.com)并且一直试图找到方法来保持手风琴部分(关于我)中的第一个标签在任何人访问该网站时打开。

$(document).ready(function() { 
$(".desc").hide();  
$("h3.open-close").click(function(){  
if ($(this).is(".current"))
{
$(this).removeClass("current");
$(this).next(".desc").slideUp(400);
}
else
{
$(".desc").slideUp(400);
$("h3.open-close").removeClass("current");

$(this).addClass("current");
$(this).next(".desc").slideDown(400);
}
});
});

6 个答案:

答案 0 :(得分:1)

这将完成工作......

$("html body div#wrap div#main div#accordian_wrap div#container h3.open-close a span").trigger('click');

但您可能希望更精确地查找可识别的可点击对象......这可能会在编辑页面时发生变化。

看看你是否可以在span / a标签上设置id,所以它可以变为:

$("#firstItemOpen").trigger('click');

答案 1 :(得分:0)

您可以使用插件的activate方法。有关详细信息,请参阅API documentation

类似的东西:

$( "#accordion" ).accordion( "activate" , 0)

(如果您的标签“关于我”是第一个)

<强> [编辑]
这是一个有效的jsfiddle:http://jsfiddle.net/cA6bK/

您可以随时触发此API(onloadonchange或其他)

答案 2 :(得分:0)

看起来你没有使用JQuery手风琴而是使用自定义构建手风琴。我建议把它换成JQUery手风琴。默认情况下,第一支手风琴将会打开,这就是你所追求的。

要在您的示例中获得此效果,只需将其添加到custom.js文件中:

$( “DESC:第一”)。显示();

在这个地方添加它(这就是你的JS文件的样子

/***************************************************
TOGGLE JAVASCRIPT
***************************************************/
$(document).ready(function() {

$(".desc").hide();
$(".desc:first").show(); // <-- ADD IT HERE, AFTER THIS FIRST HIDE() CALL!

如果你想一直打开第一个,那么只需从html文件的第一个h3标签中删除'desc'类。

小例子: http://jsfiddle.net/j8adC/

答案 3 :(得分:0)

$('.desc').not(':first').hide();

应隐藏除第一个desc div之外的所有内容。 另外,将.current课程添加到您的第一个div。

这是假设它是您想要打开的第一个div。

答案 4 :(得分:0)

使用active参数

$( "#myAcc" ).accordion({
   active: $(".defaultOpen")
});

答案 5 :(得分:0)

你可以试试这个:

$("#youdiv").addClass('in').attr('aria-expanded', 'true');