如果声明,则无法调用函数whith

时间:2017-09-30 10:23:54

标签: jquery

$('#link-1').click(function(e) {
    $link_1 = true;
    window.open('<?php echo $deliverLink1; ?>');
    myAjax();
});

$('#link-2').click(function(e) {
    $link_2 = true;
    myAjax2();
    window.open('<?php echo $deliverLink2; ?>');

});

    if( $link_1 && $link_2){
     setTimeout(function() {
        $('#download-now-button').removeClass('not-allowed');
        $("i").removeClass("fa-lock").addClass("fa-unlock-alt");
        $("button.locked-button").removeClass("locked-button").addClass("unlocked-button");
        $("a.button-generator").attr("href", "<?php echo  $deliverFlink; ?>");
        }, 3000);
    }

我想运行该功能,当点击两个ID时,但它不起作用,我做错了什么?

1 个答案:

答案 0 :(得分:0)

你需要在if块周围包含一些函数调用,并让你的两个点击事件都调用相同的函数,例如。

$( document ).ready(function() {
  var $link_1, $link_2;
  $('#link-1').click(function(e) {
    $link_1 = true;
    myAjax();
  });

  $('#link-2').click(function(e) {
    $link_2 = true;
    myAjax();
  });

   function myAjax() {
      if(!$link_1 || !$link_2) return;
      setTimeout(function() {
        $('#download-now-button').removeClass('not-allowed');
        $("i").removeClass("fa-lock").addClass("fa-unlock-alt");
        $("button.locked-button").removeClass("locked-button").addClass("unlocked-button");
        $("a.button-generator").attr("href", "<?php echo  $deliverFlink; ?>");
      }, 3000);
   }
});

值得注意的是,您可能还想要禁用单击事件或检查尚未调用setTimeout以防止多次触发超时。