2014-09-01 64 views
0

我有一個代碼,允許我調整容器的W & H以匹配窗口W & H點擊,它是偉大的工作,我也希望它調整回來第二次點擊,但,這不是爲我工作至今...調整div的點擊以適應窗口(工作)和調整回第二次點擊(不工作)

這裏就是我得到了半工作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) 
    }) 
+0

你可以利用切換()爲此 – Raghu 2014-09-01 06:56:43

+0

@raghu老實說,我想這只是在提出這個問題後,會立即嘗試,看看它是否有效,我會回來更新 – Alin 2014-09-01 07:03:38

+0

@raghu由於某種原因,我無法將其關閉.toggle將允許我調整到W&H窗口的大小,僅限於px中的預定義高度。 – Alin 2014-09-01 07:29:13

回答

1

Ummmm ...您的點擊函數總是通過初始化isFullscreen開始爲false(從不採用'else'分支)。你可以使isFullscreen成爲一個全局變量;將其聲明和初始化移到功能之外。如果它被認爲是一個「靜態」類型的變量,你需要初始化它,而不同(從給出的是點擊功能的名稱),或者:

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

的第一次調用函數時, f.isFullscreen是未定義的(與false不同),所以被設置爲false。在隨後的調用中,其值會翻轉,因此您不需要在MAXIMIZATION和MINIMIZATION代碼塊中設置其值的單獨行。

+0

偉大的答案,它的作品就像一個魅力,謝謝,我實際上一開始找不到原因,所以我結束了爲重疊div創建另一個點擊功能來調整大小。唷,祝你有美好的一天。 – Alin 2014-09-01 08:17:40