Javascript 让JQuery手风琴在所有窗格中滚动?
我想让JQuery手风琴从最后一个元素开始打开,让每个窗格依次下拉(让用户清楚地知道还有其他内容窗格可供查看)。我可以使用Accordion.Accordion(“激活”,索引)来更改打开的窗格,但它只工作一次(连续调用似乎没有任何效果?) 现在,下面的代码初始化手风琴并激活第一窗格,但对第二窗格没有任何影响Javascript 让JQuery手风琴在所有窗格中滚动?,javascript,jquery,jquery-ui,accordion,Javascript,Jquery,Jquery Ui,Accordion,我想让JQuery手风琴从最后一个元素开始打开,让每个窗格依次下拉(让用户清楚地知道还有其他内容窗格可供查看)。我可以使用Accordion.Accordion(“激活”,索引)来更改打开的窗格,但它只工作一次(连续调用似乎没有任何效果?) 现在,下面的代码初始化手风琴并激活第一窗格,但对第二窗格没有任何影响 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1
<!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>
页
$(函数(){
nyah=$(“#手风琴”)。手风琴({
事件:“鼠标悬停”,
动画:“弹跳滑翔”
});
手风琴(“激活”,1);
对于(变量i=0;i<1000;i++){
i++;
}
手风琴(“激活”,2);
});
它确实支持多个激活:。
但是,您的代码会在第一次激活之前触发第二次激活。手风琴显然不支持排队命令。它确实支持多个激活:。
但是,您的代码会在第一次激活之前触发第二次激活。手风琴显然不支持排队命令。使用setTimeout这样的命令怎么样。我想你的问题是你在第一次激活结束前打电话激活
$(函数(){
var accordionCount=$(“#AccordionH3”)。长度;
nyah=$(“#手风琴”)。手风琴({
事件:“鼠标悬停”,
动画:“弹跳滑翔”
});
函数doExpand(索引){
手风琴(“激活”,索引);
如果(index+1那么使用setTimeout这样做怎么样。我想你的问题是你在第一次激活完成之前调用了activate
$(函数(){
var accordionCount=$(“#AccordionH3”)。长度;
nyah=$(“#手风琴”)。手风琴({
事件:“鼠标悬停”,
动画:“弹跳滑翔”
});
函数doExpand(索引){
手风琴(“激活”,索引);
如果(索引+1注意到我从1开始,而不是0。更新后,现在更平滑,在切换到1之前显示0一秒钟。注意到我从1开始,而不是0。更新后,现在更平滑,在切换到1之前显示0一秒钟。感谢JSFIDLE链接,这非常有用感谢JSFIDLE链接,这非常有用
$(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);
});