单击以调整窗口(工作)时调整div,并在第二次单击时调整大小(不工作)

时间:2014-09-01 06:53:45

标签: javascript jquery resize

我有一个代码,允许我调整容器的W& H以匹配点击时W& H的窗口,并且它工作得很好,我也希望它在第二次点击时重新调整大小但是这对我不起作用远...

这是我得到的一半工作jsFiddle

$('.more').click(function(){
    var isFullscreen = false;
    var d = {};
    var speed = 900; 
    if(!isFullscreen){ // MAXIMIZATION
        d.width = $(window).width();;
        d.height = $(window).height();; 
        isFullscreen = true;
    }
    else{ // MINIMIZATION            
        d.width = "50px";
        d.height =  "50px";            
        isFullscreen = false;
    }

    $(this).animate(d,speed)
    })

1 个答案:

答案 0 :(得分:1)

嗯...你的点击功能总是通过将isFullscreen初始化为false(从不采用' else'分支)开始。你可以使isFullscreen成为一个全局变量;将其声明和初始化移到功能之外。如果它应该是一个静态的'变量的类型,你需要以不同的方式初始化它(从给点击函数一个名称开始),也许:

 $('.more').click(function f(){
   f.isFullscreen = (f.isFullscreen===false)?true:false;

第一次调用该函数时,f.isFullscreen未定义(不等于false),因此设置为false。在后续调用中,它的值会翻转,因此您不需要在MAXIMIZATION和MINIMIZATION代码块中设置其值的各行。