繁体   English   中英

如何使用仅一次调用此函数

[英]How to use call this function only once

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

$('#link-2').click(function(e) {
    $link_2 = '1';
    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);
    }
});

因此,我的问题是,人们必须单击1&2,但是如果都单击,则应该完成一个功能,但是只能通过单击该按钮来完成,因此在这两个功能中都添加了一个锁以及所有其他功能,但是我希望他们只添加一个锁图标。 我知道这个问题很愚蠢,但是我在这方面还是很新的。 哦,还有如何将php echo更改为js变量

您可以初始化单独的变量来跟踪点击次数:

let link1_click = 0;
let link2_click = 0;

$('#link-1').click(function(e) {
    link1_click++;
    if (link2_click) functionToRunWhenBothClicked();
    $link_1 = '1';
    window.open('<?php echo $deliverLink1; ?>');
    myAjax();
    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);
    }
});

$('#link-2').click(function(e) {
    link2_click++;
    if (link1_click) functionToRunWhenBothClicked();
    $link_2 = '1';
    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);
    }
});

看起来您已经在脚本中回显了PHP值,因此在将值分配给JS变量时可以执行相同的操作:

let string_var = '<?php echo $some_string_value; ?>';
var numeric_var = <?php echo $some_number; ?>;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM