2013-05-11 59 views
0

這裏是我的情況: 首先在加載頁面時我設置了a1。 然後我想點擊一個按鈕,有一個如果設置a0,所以當我再次點擊他的if條件不應該發生。jQuery if/else

這裏是我的代碼:

$('#menu2b').click(function(){ 
    $('#menu1a').fadeIn(0);$('#menu1b').fadeOut(0); 
    $('#menu2a').fadeOut(0);$('#menu2b').fadeIn(0); 
    $('#menu3a').fadeOut(0);$('#menu3b').fadeIn(0); 
    $('#menu4a').fadeOut(0);$('#menu4b').fadeIn(0); 
    $('#menu5a').fadeOut(0);$('#menu5b').fadeIn(0); 
    $('#menu6a').fadeOut(0);$('#menu6b').fadeIn(0); 

    if (a = 1){ 
     $('.main').delay(50).animate({marginTop : "-=160px"},{duration: 1000}); 
     $('.footer').delay(220).animate({marginTop : "-=150px"},{duration: 1000}); 
     $('.container2').animate({marginTop : "-=90px"},{duration: 0}).delay(200).fadeIn(0).slideUp(0).slideDown(1500); 
     var a = 0; 
    } 
    else {} 
}); 

$(document).ready(function() { 
    $('.container2').fadeOut(0); 
    $('.container3').fadeOut(0); 
    $('.container4').fadeOut(0); 
    $('.container5').fadeOut(0); 
    $('.container6').fadeOut(0); 
    $('#menu1b').fadeOut(0); 
    $('#menu2a').fadeOut(0); 
    $('#menu3a').fadeOut(0); 
    $('#menu4a').fadeOut(0); 
    $('#menu5a').fadeOut(0); 
    $('#menu6a').fadeOut(0); 
    var a = 1; 
}); 

在此先感謝;)

回答

4
if (a = 1){ 

被分配值1a,無條件,並始終評估爲真。你可能想

if (a == 1){ 

這是檢驗,看是否a等於1

+1

甚至更​​好的,'一=== 1' – mash 2013-05-11 05:02:28

+0

明白了:)謝謝 – BrunoWB 2013-05-11 05:03:28

+0

現在我改變了「=」到「==」和按鈕不工作..任何想法? – BrunoWB 2013-05-11 05:06:05

2

我不太確定你想要做什麼,而是試試這個:

var a = true; 

$('#menu2b').click(function(){ 
    $('#menu1a').fadeIn(0);$('#menu1b').fadeOut(0); 
    $('#menu2a').fadeOut(0);$('#menu2b').fadeIn(0); 
    $('#menu3a').fadeOut(0);$('#menu3b').fadeIn(0); 
    $('#menu4a').fadeOut(0);$('#menu4b').fadeIn(0); 
    $('#menu5a').fadeOut(0);$('#menu5b').fadeIn(0); 
    $('#menu6a').fadeOut(0);$('#menu6b').fadeIn(0); 
    if(a == true){ 
     $('.main').delay(50).animate({marginTop : "-=160px"},{duration: 1000}); 
     $('.footer').delay(220).animate({marginTop : "-=150px"},{duration: 1000}); 
     $('.container2').animate({marginTop : "-=90px"},{duration: 0}).delay(200).fadeIn(0).slideUp(0).slideDown(1500); 
     a = false; 
    } 
}); 

$(document).ready(function(){ 
    $('.container2').fadeOut(0); 
    $('.container3').fadeOut(0); 
    $('.container4').fadeOut(0); 
    $('.container5').fadeOut(0); 
    $('.container6').fadeOut(0); 
    $('#menu1b').fadeOut(0); 
    $('#menu2a').fadeOut(0); 
    $('#menu3a').fadeOut(0); 
    $('#menu4a').fadeOut(0); 
    $('#menu5a').fadeOut(0); 
    $('#menu6a').fadeOut(0); 
}); 

我已經改變了你的=在if語句==,這是正確的比較操作。 ===也可以,if(a)也可以。變量a也需要是全局的(移到腳本的頂部,在任何函數之外),以便點擊功能可以訪問它。我也將它更改爲一個布爾值,這是一個更合適的數據類型。

此外,您的else{}沒有做任何事情,所以我刪除它。

+0

按鈕仍然不能正常工作:( – BrunoWB 2013-05-11 05:13:29

+0

您能否發佈一個鏈接到您的完整代碼,以便我們可以看到問題? – 2013-05-11 10:27:55

0

聲明變量a爲全局變量。相反,局部變量

var a = 1; 

    $('#menu2b').click(function(){ 
    $('#menu1a').fadeIn(0);$('#menu1b').fadeOut(0); 
    $('#menu2a').fadeOut(0);$('#menu2b').fadeIn(0); 
    $('#menu3a').fadeOut(0);$('#menu3b').fadeIn(0); 
    $('#menu4a').fadeOut(0);$('#menu4b').fadeIn(0); 
    $('#menu5a').fadeOut(0);$('#menu5b').fadeIn(0); 
    $('#menu6a').fadeOut(0);$('#menu6b').fadeIn(0); 
    if(a == 1) 
    { 
    $('.main').delay(50).animate({marginTop : "-=160px"},{duration: 1000}); 
    $('.footer').delay(220).animate({marginTop : "-=150px"},{duration: 1000}); 
    $('.container2').animate({marginTop : "-=90px"},{duration: 0}).delay(200).fadeIn(0).slideUp(0).slideDown(1500); 
    a = 1; 
    } 
    else 
    { 
    return false; 
    } 

}); 

$(document).ready(function(){ 
$('.container2').fadeOut(0); 
$('.container3').fadeOut(0); 
$('.container4').fadeOut(0); 
$('.container5').fadeOut(0); 
$('.container6').fadeOut(0); 
$('#menu1b').fadeOut(0); 
$('#menu2a').fadeOut(0); 
$('#menu3a').fadeOut(0); 
$('#menu4a').fadeOut(0); 
$('#menu5a').fadeOut(0); 
$('#menu6a').fadeOut(0); 
      }); 
+0

不起作用:/引入「==」idk時按鈕不工作。 – BrunoWB 2013-05-11 17:52:05