Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 让JQuery手风琴在所有窗格中滚动?_Javascript_Jquery_Jquery Ui_Accordion - Fatal编程技术网

Javascript 让JQuery手风琴在所有窗格中滚动?

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

我想让JQuery手风琴从最后一个元素开始打开,让每个窗格依次下拉(让用户清楚地知道还有其他内容窗格可供查看)。我可以使用Accordion.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>

页
$(函数(){
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);
});