我有一个加载动画,最初将其隐藏在application.js文件中:
$('#loading_field').hide();
我有一个自动完成字段,我希望动画在用户开始键入时出现,并在出现自动完成建议结果时消失。以下是我的jQuery UI自动完成插件的jQuery代码:
$(".showable_field").autocomplete({ minLength: 1, source: '/followers.json', focus: function(event, ui) { $('.showable_field').val(ui.item.user.name); return false; }, select: function(event, ui) { var video_id = $('#video_id_field').val(); var user_id = ui.item.user.id; $.post("/showable_videos.js", {video: video_id, user: user_id}); $(':input','#new_showable_video').not(':button, :submit, :reset, :hidden').val(''); return false; } }); var obj = $(".showable_field").data('autocomplete'); obj && (obj._renderItem = function( ul, item ) { return $( "<li></li>" ) .data( "item.autocomplete", item ) .append( "<a>" + item.user.name + "</a>" ) .appendTo( ul ); });
我应该在哪里显示和隐藏动画?
因为您正在使用AJAX加载建议,所以我认为这应该对您有用:
$('#loading_field').ajaxStart(function () { $(this).show(); }).ajaxStop(function () { $(this).hide(); });