首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在脚本工作时显示加载图像?

如何在脚本工作时显示加载图像?
EN

Stack Overflow用户
提问于 2014-11-03 04:34:39
回答 3查看 884关注 0票数 1

我使用jquery/ajax/php登录到我的网站。当我将此登录功能签入到我的服务器时,需要几秒钟的时间才能签入详细信息。因此,我想显示一个加载图像,而它是签入详细的日志。如何显示这个加载图像?

我想使用这个加载映像:

代码语言:javascript
运行
复制
<img src="images/loading-image.gif"/>

表格:

代码语言:javascript
运行
复制
<div id="success"></div>

<form id="login_process">
<table width="500" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td>Username</td>
    <td><input type="text" name="front_username" placeholder="Username" /></td>
  </tr>
  <tr>
    <td>Password</td>
    <td><input type="password" name="front_password" placeholder="Password"/></td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td><input type="submit" name="submit" value="LogIn" class="submit"></td>
  </tr>
  <tr>    
    <td colspan="2">Forgot your password ? Click <a href="forgotpass.php">here.</a></td>
  </tr>
</table>
</form>

Jquery:

代码语言:javascript
运行
复制
<script>
$('#login_process').submit(function(event) {
event.preventDefault();

$.ajax({
type: 'POST',
url: 'login_process.php',
data: $(this).serialize(),
dataType: 'json',      

success: function (data) {
   $('#success').html('');
   $.each( data, function( key, value ) {

    if(key !== 'error') {
            $('#success').append('<p>'+value+'</p>');           

    }  
}); 


    if( ! data.error) {     
        $('#hide').hide();              
         setTimeout(function () {
         $('input[type=submit]').attr('disabled', false);        
           window.location.href = "index.php"; 
    },     2000); 
        }

   }
});

});
</script>
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-11-03 04:42:14

在这里,您只需获得加载映像并在进行ajax调用之前显示它,调用完成后您只需隐藏它。

html

代码语言:javascript
运行
复制
<img id="loaderAnim" src="images/loading-image.gif"/>

JS

代码语言:javascript
运行
复制
//Hide image on page load
$('#loaderAnim').hide(); 

$('#login_process').submit(function(event) {
event.preventDefault();

$('#loaderAnim').show(); // Show it before making ajax call
$.ajax({
    type: 'POST',
    url: 'login_process.php',
    data: $(this).serialize(),
    dataType: 'json',      

    success: function (data) {
        $('#loaderAnim').hide(); // Hide always after every request
        $('#success').html('');
        $.each( data, function( key, value ) {
            if(key !== 'error') {
                $('#success').append('<p>'+value+'</p>');
            }  
        }); 

        if( ! data.error) {     
            $('#hide').hide();              
            setTimeout(function () {
                $('input[type=submit]').attr('disabled', false);        
                window.location.href = "index.php"; 
            }, 2000); 
        }

    }
});
票数 1
EN

Stack Overflow用户

发布于 2014-11-03 04:45:42

将类添加到图像标记中,如下所示:

代码语言:javascript
运行
复制
<img class="img-loading" src="images/loading-image.gif"/>

我不会写CSS初始隐藏的加载图像或它的定位,希望你能做到你自己。

那么最简单的方法就是按如下所示修改脚本,

代码语言:javascript
运行
复制
<script>
$('#login_process').submit(function(event) {
event.preventDefault();

//SHOW YOUR LOADING IMAGE 
$('.img-loading').show();

$.ajax({
type: 'POST',
url: 'login_process.php',
data: $(this).serialize(),
dataType: 'json',      

success: function (data) {
   $('#success').html('');
   $.each( data, function( key, value ) {

    if(key !== 'error') {
            $('#success').append('<p>'+value+'</p>');           

    }  

    //HIDE YOUR LOADING IMAGE 
    $('.img-loading').hide();
}); 


    if( ! data.error) {     
        $('#hide').hide();              
         setTimeout(function () {
         $('input[type=submit]').attr('disabled', false);        
           window.location.href = "index.php"; 
    },     2000); 
        }
});

});
</script>
票数 1
EN

Stack Overflow用户

发布于 2014-11-03 04:45:08

首先使用css隐藏图像,然后按以下方式修改代码:

HTML:

代码语言:javascript
运行
复制
<img class="loading" src="images/loading-image.gif"/>

联署材料:

代码语言:javascript
运行
复制
$('#login_process').submit(function(event) {
    event.preventDefault();
    $('.loading').show();
    .....
    ......
    success: function (data) {
        $('.loading').hide();
        ....
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26707827

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档