Jquery水平手风琴点击收缩

时间:2012-09-21 13:15:54

标签: jquery accordion

我有这个脚本我用于水平手风琴。您可以在此处查看功能: http://jsfiddle.net/vXpPg/

我希望点击打开的幻灯片。

任何帮助将不胜感激。谢谢!

2 个答案:

答案 0 :(得分:2)

你去:

http://jsfiddle.net/vXpPg/1/

我修改了您的click功能,以检查您首先点击的部分的宽度。如果此宽度等于您写为maxWidth的宽度,那么我们知道我们只想将其折叠(将其宽度更改为minWidth设置)。如果不是,那么我们知道它必须是一个小部分,并且需要像平常那样扩展(你已经拥有的代码)。

$("ul li").click(

function() {
    /*
     * I added this
     */
    if ($(this).width() == maxWidth) {
        $(this).animate({
            width: minWidth + "px"
        }, {
            queue: false,
            duration: 400
        });
    } else {
        /*
         * You had this
         */
        $(lastBlock).animate({
            width: minWidth + "px"
        }, {
            queue: false,
            duration: 400
        });
        $(this).animate({
            width: maxWidth + "px"
        }, {
            queue: false,
            duration: 400
        });
    }
    lastBlock = this;
});​

答案 1 :(得分:1)

我认为这应该解决它:

lastBlock = $("#a1");
maxWidth = 450;
minWidth = 50;

$("ul li").click(

function() {
    if (lastBlock != this) {
        $(lastBlock).animate({
            width: minWidth + "px"
        }, {
            queue: false,
            duration: 400
        });
        $(this).animate({
            width: maxWidth + "px"
        }, {
            queue: false,
            duration: 400
        });
        lastBlock = this;
    } else {
        $(this).animate({
            width: minWidth + "px"
        }, {
            queue: false,
            duration: 400
        });
    }
});​