水平アコーディオンに使用しているこのスクリプトがあります。ここで機能を確認できます: http://jsfiddle.net/vXpPg/
クリックすると開いているスライドも閉じるようにしています。
どんな助けでも大歓迎です。ありがとうございました!
水平アコーディオンに使用しているこのスクリプトがあります。ここで機能を確認できます: http://jsfiddle.net/vXpPg/
クリックすると開いているスライドも閉じるようにしています。
どんな助けでも大歓迎です。ありがとうございました!
どうぞ:
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;
});
これで直ると思います:
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
});
}
});