【问题标题】:Add Class & Remove Class after load success on AJAX with setTimeout使用 setTimeout 在 AJAX 上加载成功后添加类和删除类
【发布时间】:2020-05-23 09:47:29
【问题描述】:

您好,我有一个名为“刷新”的按钮,当有人单击该按钮时,该按钮将在 24 小时内隐藏,我尝试使用添加到“成功”的 AJAX 创建,但它似乎不起作用,这是我的代码(看在完整的过程中):

//Re listings
    $( 'a.relist-free' ).on( 'click', function( e ) {
        e.preventDefault();
        var $this = $( this );
        var propid = $this.data( 'property' );

        $.ajax({
            url: ajax_url,
            data: {
                action: 'houzez_relist_free',
                propID: propid
            },
            method: 'POST',
            dataType: "JSON",

            beforeSend: function( ) {
                houzez_processing_modal(processing_text);
            },
            success: function( response ) {
                window.location.reload();
            },
            complete: function( ){
                $this.addClass( "hidden" );
                setTimeout($this.removeClass( "hidden" ) ,24000);
            }
        });

    });

【问题讨论】:

  • 就像在另一个答案中所说的那样,页面将重新加载,因此无法以这种方式工作,但 setTimeout 使用毫秒。 24000 毫秒是 24 秒而不是小时。

标签: jquery ajax button hyperlink


【解决方案1】:

永远不会调用完成,因为“成功”将重新加载页面。 在 Success 中,您应该将 Cookie 或带有时间戳的条目添加到 localstorage。 在您的 js 开头检查是否存在条目或自创建以来是否已过去 24 小时。然后隐藏或显示按钮。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-21
    • 1970-01-01
    • 1970-01-01
    • 2018-11-18
    • 1970-01-01
    • 2023-03-14
    相关资源
    最近更新 更多