语法错误
您在第 2 行有语法错误:请#prices
改用:
$(function(){
$('#prices').toggle(function(){
$('#prices').animate({
height: '+=200px'
});
}, function(){
$('#prices').animate({
height: '+=200px'
});
});
});
根深蒂固的问题:.toggle()
在≥v1.8 中弃用效果
不过需要注意的是,在 jQuery 的后续版本(v1.8 和 v1.9)中,该.toggle()
方法的这个特性已经被弃用了。您需要将此事件绑定到单击处理程序,并将状态存储为变量。
此外,由于您一直在将高度增加 200 像素,因此无论如何使用切换功能没有什么意义;)除非您的意思是在每次单击后将高度降低回 200 像素:
$(function () {
$('#prices').click(function () {
if($(this).data("toggle") == 1) {
// Open state
// The height should decrease when open state is registered
// Effect: To collapse the open state
$(this).animate({
height: '-=200px'
});
// Now set state to collapsed
$(this).data("toggle", 0);
} else {
// Resting/collapsed state
// The height should increase when resting state is registered
// Effect: To expand the collapsed state
$(this).animate({
height: '+=200px'
});
// Now set state to open
$(this).data("toggle", 1);
}
});
});
JSFiddle 演示