我想使用我的JQuery Accordion,从最后一个元素开始打开,让每个窗格依次下拉(以便让用户清楚地知道,他们还可以查看其他窗格的内容)。我可以使用Accordion.accordion("activate",索引)来更改打开的窗格,但它只起作用一次(连续调用似乎没有任何效果?)。
现在,下面的代码初始化accordion并激活窗格一,但对窗格二没有任何影响。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>Page</title>
<link rel="stylesheet" href="stylesheet.css" type="text/css" />
<script type="text/javascript" src="js/jquery-1.5.1.min.js"></script>
<script type="text/javascript" src="js/jquery-ui-1.8.12.custom.min.js"></script>
<script type="text/javascript">
$(function () {
nyah = $("#accordion").accordion({
event: "mouseover",
animated: "bounceslide"
});
nyah.accordion("activate", 1);
for (var i = 0; i < 1000; i++) {
i++;
}
nyah.accordion("activate", 2);
});
</script>
</head>
<body>
<div id = "accordion">
<h3><a href="#">One</a></h3>
<div><img src="1.png" alt="" /></div>
<h3><a href="#">Two</a></h3>
<div><img src="2.jpg" alt="" /></div>
<h3><a href="#">Three</a></h3>
<div><img src="3.jpg" alt="" /></div>
</div>
</body>
</html>发布于 2011-05-03 04:18:56
它支持多个激活: .
但是,您的代码在第一次激活之前触发了第二次激活。accordion显然不支持队列命令。
发布于 2011-05-03 04:21:52
使用setTimeout做类似这样的事情怎么样?我想你的问题是你在第一次激活结束之前调用了激活。
$(function() {
var accordionCount = $("#accordion h3").length;
nyah = $("#accordion").accordion({
event: "mouseover",
animated: "bounceslide"
});
function doExpand(index) {
nyah.accordion("activate", index);
if (index + 1 <= accordionCount) {
setTimeout(function() {
doExpand(index + 1);
}, 1000);
}
}
doExpand(0);
});https://stackoverflow.com/questions/5861802
复制相似问题