2013-05-11 36 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