2014-01-14 36 views
2

我有一個關閉畫布功能設置,我不能讓它正常工作。jQuery關閉畫布不工作

試圖關閉它時,它不會滑回到左側。當我使用250px而不是90%時它工作正常,但我需要百分比!

http://jsfiddle.net/3Wdby/

$(document).ready(function() { 
    $('#push, #close').click(function() { 
     var $navigacia = $('body, #slide-menu'), 
      val = $navigacia.css('left') === '90%' ? '0px' : '90%'; 
     $navigacia.animate({ 
      left: val 
     }, 300)  
    });  
}); 

回答

4

開關if語句來檢查,如果是90%,0像素,而不是因爲當你看,如果它的90%將在像素

$(document).ready(function() { 
    $('#push, #close').click(function() { 
     console.log($('body, #slide-menu').css('left')); 
     var $navigacia = $('body, #slide-menu'), 
      val = $navigacia.css('left') === '0px' ? '90%' : '0px'; 
     $navigacia.animate({ 
      left: val 
     }, 300) 
    }); 
}); 

DEMO

+1

非常感謝,我知道必須有一個簡單的解決方案。想不出要走哪條路... – SamotnyPocitac

+0

我還有一個問題。我實現了這一點,並在Chrome中,第一次點擊不起作用。它在頁面加載後切換到第二次點擊 – SamotnyPocitac

1

返回您無法測試百分比,而應該反轉if語句:

val = $navigacia.css('left') === '0px' ? '90%' : '0'; 

它測試寬度是否爲0,如果是0,則將其設置爲90%。當你下一次點擊,因爲寬度不是0,它將它設回0.