jsfiddle在这里:http://jsfiddle.net/M86nA/
代码是这样的:
$('div.wrap').click(function(){
var $minY = $('div.imgur-wrap').height();
if ($minY = 280) {
$('div.wrap').animate({height: 500});
}else{
$('div.wrap').animate({height: 280});
}
});
我想是因为它在执行if时确实有新的高度(500)?我怎么能这样做?
谢谢!
编辑:用“==”替换“=”并在选择器中删除“imgur”修复它。
答案 0 :(得分:3)
您可以使用jQuery .toggle()
之类的in this example
$('div.wrap').toggle(function() {
$(this).animate({
height: 500
});
}, function() {
$('div.wrap').animate({
height: 280
});
});
jQuery将在.toggle()
中提供的功能之间“切换”,一个接一个地返回。由于280px是初始状态,我们首先触发高度500,然后再触发280并再次返回。
答案 1 :(得分:1)
使用您当前的代码,修改课程参考,并=
修改为==
。
更改
var $minY = $('div.imgur-wrap').height();
要
var $minY = $('div.wrap').height();
完整的参考代码:
$('div.wrap').click(function() {
var $minY = $('div.wrap').height();
if ($minY == 280) {
$('div.wrap').animate({
height: 500
});
} else {
$('div.wrap').animate({
height: 280
});
}
});
请参阅DEMO