使用 jQuery-ui 自动完成显示加载 gif

Par*_*tel 1 jquery-ui datatables jquery-ui-autocomplete

我正在使用jQuery-ui 自动完成版本 v1.12.1。如何添加加载 GIF?我正在尝试仅使用 jQuery 检索数据...没有 AJAX 调用。

    jQuery(document).ready(function(){
    var product_data = <?php echo $product_implode; ?>;
        if(product_data != ''){
            jQuery( "#search_box" ).autocomplete({
                appendTo: "#project-description",
                minLength: 1,
                source: product_data,
                open: function(e, ui) {
                    jQuery('#project-description').addClass('autocomplete-content');
                },
                close: function(e, ui){
                    jQuery('#project-description').removeClass('autocomplete-content');
                }
            });
        }
    });
Run Code Online (Sandbox Code Playgroud)

这是我的自动完成代码。我正在使用数据表版本 1.10.16来显示数据。我想显示加载程序图像,直到不显示搜索数据。

yas*_*ash 7

JQuery 自动完成功能会ui-autocomplete-loading在加载内容时添加该类。

将以下行添加到 css 中:

.ui-autocomplete-loading { background:url(http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.2/themes/smoothness/images/ui-anim_basic_16x16.gif) no-repeat right center }
Run Code Online (Sandbox Code Playgroud)

编辑:

正如 @Twisty 所说,如果您的所有数据都在客户端,那么在显示自动完成时将没有足够的时间来显示加载 gif。

因此,您可以使用上面提到的 css 添加以下脚本。查看演示

setTimeout(function(){
    //logic of fetching data.
}, 1500);
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助您解决您的问题。