2014-02-10 2 views
3

Я пытаюсь показать загрузочное изображение на странице входа, прежде чем перенаправить на страницу профиля. Я регистрирую пользователя через facebook api, поэтому для отображения страницы профиля требуется время, и я хочу показать загружаемое изображение, пока оно не перейдет на страницу профиля. Обратите внимание, что я проверяю страницу самостоятельно.Как показать загрузочное изображение в JQuery?

Мой HTML является:

<div> 
    <a id="facebookLogin" class="fbButton" href="' . $loginUrl . '"><img src="f-connect.png"></a><br>'; 
    </div> 

<div id='loadingmessage' style='display:none'> 
    <img src='loading.gif'/> 
</div> 

Мой JQuery является:

$(document).ready(function($) { 

      $('#facebookLogin').live('click', function() { 
         $('#loadingmessage').fadeIn(); 
       }); 
     }); 

Когда я нажимаю кнопку facebook подключения, она не показывает изображение загрузки и переходит на страницу профиля, если это было успешный. Пожалуйста помоги!!

+0

Какую версию jQuery вы используете? 'live' устарел на некоторое время. Вместо этого используйте 'on'. – putvande

+0

Я использую 1.8.23, я пробовал ваше решение, но оно все еще не работает. Если я сделаю предупреждение, он будет работать на 'live', но код не работает. – user3293145

+0

Попробуйте использовать' .show() ', а не' .fadeIn() 'так что это немедленно. Браузеры не могут завершить анимацию с начала навигации. –

ответ

2

Ваш вопрос появляется при нажатии на ссылку, вы получаете перенаправлен немедленно, так что нет времени для загрузчика стираться Вам нужно отменить поведение по умолчанию и использовать AJAX:.

$(document).on('click', '#facebookLogin', function(e) { 
     e.preventDefault(); 
     $('#loadingmessage').fadeIn(); 
     $.ajax({ 
     type: "POST", 
     url: FACEBOOKAPIURL, 
     data: SOMELOGINDATA, 
     success: function(){ $('#loadingmessage').fadeOut(); } 
    }); 
}); 

I Я боюсь, что я незнаком с API Facebook, к сожалению, но вы сможете найти то, что вам нужно на своем сайте для разработчиков: https://developers.facebook.com

+0

не работает. Когда я пытаюсь выполнить код, кнопка facebook даже не работает, но когда я пытаюсь заменить код и вместо этого помещаю селектор, он работает по-прежнему, не показывая загружаемое изображение. – user3293145

+0

Этот код на самом деле не работает, так как я не знаю, как войти в систему через API Facebook, так что вам придется исследовать этот бит или задать другой вопрос SO. Что этот код будет делать, это остановить ссылку от работы, которая предназначена, а затем вызвать сообщение загрузки. После этого вы должны узнать, как аутентифицироваться с помощью Facebook через AJAX, и как только эта проверка подлинности преуспела, вы можете сделать что-то вроде угасания загружаемого сообщения или перенаправления на другую страницу. –

+0

Спасибо за ваш ответ, я постараюсь проверить, могу ли я аутентифицировать Facebook через AJAX – user3293145

Смежные вопросы