2016-05-16 67 views
-1

我想我在這裏犯了一個錯誤,因爲它可能不工作。也許有人可以幫我jQuery變量錯誤

這裏是我的jQuery代碼(我認爲剩下的並不重要):

$(文件)。就緒(函數(){ VAR切換= FALSE;

$(".arrow").click(function() { 
    if (toggled === false) { 
     $(".nav").animate({ 
      left: "0px" 
     }); 
     $(".arrow").animate({ 
      left: "280px" 
     }); 
     toggled = true; 
    } else { 
     $(".nav").animate({ 
      left: "-280px;" 
     }); 
     $(".arrow").animate({ 
      left: "0px;" 
     }); 
    } 
}); 

謝謝

編輯:發現我的錯誤

$(".nav").animate({ 
      left: "-280px;" 
     }); 

的「;」 是動畫中的支架:)

+1

在'else'部分,沒有'toggled = false;'所以它不能在2狀態之間切換? – fuyushimoya

+0

@fuyushimoya忘記了..但它仍然不是動畫回來.. –

+0

我認爲應該有2'=='而不是3''==='驗證,如果這些是相同的類型和價值,而' =='檢查值 –

回答

1

您需要的document.ready多一個結束括號非常錯誤的:

$(document).ready(function() { 
    var toggled = false; 
    $(".arrow").click(function() { 
     if (toggled === false) { 
      $(".nav").animate({ 
       left: "0px" 
      }); 
      $(".arrow").animate({ 
       left: "280px" 
      }); 
      toggled = true; 
     } else { 
      $(".nav").animate({ 
       left: "-280px;" 
      }); 
      $(".arrow").animate({ 
       left: "0px;" 
      }); 
     } 
    }); 
}); // you missed this 
+0

已添加。還是行不通 :/ –

0

您需要在else條件也成立toggled

var toggled = false; 

$(".arrow").click(function() { 
    if (toggled === false) { 
     $(".nav").animate({ 
      left: "0px" 
     }); 
     $(".arrow").animate({ 
      left: "280px" 
     }); 
     toggled = true; 
    } else { 
     $(".nav").animate({ 
      left: "-280px;" 
     }); 
     $(".arrow").animate({ 
      left: "0px;" 
     }); 
     toggled = false; 
    } 
});