Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如果单击jquery_Javascript_Jquery - Fatal编程技术网

Javascript 如果单击jquery

Javascript 如果单击jquery,javascript,jquery,Javascript,Jquery,请帮帮我!我不知道为什么我的代码不起作用。。。 在事件处理程序中定义变量还有其他方法吗?还是以某种方式归还 var $test; $('#click1').click(function() { $test = 1; }); $('#click2').click(function() { $test = 2; }); $('#click3').click(function() { $test = 3; }); if ($test == 1) { $right.fadeOut('2

请帮帮我!我不知道为什么我的代码不起作用。。。 在事件处理程序中定义变量还有其他方法吗?还是以某种方式归还

var $test;
$('#click1').click(function() {
  $test = 1;
});
$('#click2').click(function() {
  $test = 2;
});
$('#click3').click(function() {
  $test = 3;
});

if ($test == 1) {
  $right.fadeOut('2000');
  $('#click1').css({
    "color": "#6B1E1E",
    "font-size": "100%",
    "text-shadow": "0px 0px 2px green"
  });
  $animWebs.animate({
    top: 170,
    left: 800,
    width: 400,
    height: 300,
    backgroundColor: 'white',
    borderRadius: 6
  }, 4000);
  $('#img1').animate({
    opacity: 1
  }, 4000);
  $('#click1').removeClass('click1');
} else if ($test == 2) {


  $('#click2').css({
    "color": "#6B1E1E",
    "font-size": "100%",
    "text-shadow": "0px 0px 2px green"
  });
  $right.remove();
  $simpWebs.animate({
    top: 170,
    left: 300,
    width: 400,
    height: 300,
    backgroundColor: 'white',
    borderRadius: 6
  }, 3000);
  $('#img2').animate({
    opacity: 1
  }, 3000);
  $('#click2').removeClass('click1');
} else if ($test == 3) {

  $('#click3').css({
    "color": "#6B1E1E",
    "font-size": "100%",
    "text-shadow": "0px 0px 2px green"
  });
  $right.remove();
  $contact.animate({
    top: 500,
    left: 500,
    width: 400,
    height: 100,
    backgroundColor: 'white',
    borderRadius: 6
  }, 3000);
  $('#img3').animate({
    opacity: 1
  }, 3000);
  $('#click3').removeClass('click1');
} else {
  $test = null;
};

if-else语句可以工作,但我的click事件似乎没有对变量进行任何更改,这可能是由于事件序列造成的。请参阅下面的建议代码或代码的重新拆分

$(document).ready(function(){
  $('#click1').click(function(){
     $right.fadeOut('2000');
     $(this).css(/* CSS Stuff */);
  });  
  $('#click2').click(function(){
    /* Your Functionality */
  });
});
$(document).ready(function(){
    var test;
    $('#click1').click(function(){
        test = 1;
        evaluateTest(test);
    });
    $('#click2').click(function(){
        test = 2;
        evaluateTest(test);
    });
    $('#click3').click(function(){
        test = 3;
        evaluateTest(test);
    });
    function evaluateTest(testVal){
        alert(testVal);
        // INSERT YOUR IF STATEMENT HERE AND REMOVE ALERT ABOVE
    }
});

从我所能理解的,可以归结为事件的顺序。请参阅下面的建议代码或代码的重新拆分

$(document).ready(function(){
    var test;
    $('#click1').click(function(){
        test = 1;
        evaluateTest(test);
    });
    $('#click2').click(function(){
        test = 2;
        evaluateTest(test);
    });
    $('#click3').click(function(){
        test = 3;
        evaluateTest(test);
    });
    function evaluateTest(testVal){
        alert(testVal);
        // INSERT YOUR IF STATEMENT HERE AND REMOVE ALERT ABOVE
    }
});

如果动态生成了
click2
click3
的html,则应使用委托事件绑定
.on()
在设置
$test
后在
单击事件时调用的函数中对
if..else if..else if..else
进行快速包装谢谢!!!天哪,我忘了!!!是的,那有帮助!我将它包装在一个函数中,并在单击事件处理程序中调用它!!!!此外,您还可以使用
开关…case
使代码更简洁。如果它是一个简单的变量,为什么要在前面使用$?和控制台,记录测试值以查看您应该使用委托事件绑定的值。如果动态生成了
click2
click3
的html,请在
设置$test
后在
单击
事件时调用的函数中重新包装
if..else if..else
,谢谢!!!天哪,我忘了!!!是的,那有帮助!我将它包装在一个函数中,并在单击事件处理程序中调用它!!!!此外,您还可以使用
开关…case
使代码更简洁。如果它是一个简单的变量,为什么要在前面使用$?和控制台,记录测试值以查看值