0

这是我的情况:首先加载我设置的页面a1。然后我想点击一个 if 设置a为的按钮0,所以当我再次点击他时,if 条件不应该发生。

这是我的代码:

$('#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

3 回答 3

4
if (a = 1){

将值无条件地分配1a,并且始终评估为真。你可能想要

if (a == 1){

这是 TESTING 看是否a等于1

于 2013-05-11T05:01:04.797 回答
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{}没有做任何事情,所以我将其删除。

于 2013-05-11T05:07:31.737 回答
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);
           });
于 2013-05-11T06:09:13.803 回答