使用setTimeout在AJAX上成功加载后添加类和删除类

嗨,我有一个名为“刷新”的按钮,当有人单击该按钮时,该按钮将在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);
            }
        });

    });
评论
  • 贪恋你温柔
    贪恋你温柔 回复

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