jquery - 根据当前高度与限制切换div高度

时间:2012-06-23 00:16:54

标签: javascript jquery

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”修复它。

2 个答案:

答案 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