答案 0 :(得分:2)
你去:
我修改了您的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
});
}
});