JQuery Ajax Facebook, как система - PullRequest
       3

JQuery Ajax Facebook, как система

0 голосов
/ 01 сентября 2010

Я пытаюсь создать Facebook, который мне не нравится, с помощью jQuery. У меня возникла следующая проблема. Когда запускается вызов ajax, он вызывает анимацию загрузки. Когда она заканчивается, анимация остается там.

Единственный способ, которым он исчезает, это когда я использую один и тот же div для загрузки и результата.

Посмотри. Код довольно прост: http://www.44db.com/demo/facebook-like/

Спасибо

PS: это код в файле load.php:

<?php
$like = $_POST['like'];
$value = $_POST['value'];

    if ($like == 'like') :
        echo 'clicked like';
    elseif ($like == 'notlike') :
        echo 'clicked not like';
    endif;

?>

Ответы [ 3 ]

0 голосов
/ 01 сентября 2010

Используйте эту функцию обратного вызова вместо:

function(responseText){
 $("#result").html(responseText);
 $(".loading").remove();
}
0 голосов
/ 01 сентября 2010

Вы явно показываете "загрузку ajax" в событии клика

 $("#load").html(ajax_load); 

Вам нужно отключить его, когда ответ приходит от ответа сервера (обратите внимание на $ ("# load"). Hide ())

$("#good").click(function(event){
 event.preventDefault();
 $("#load").html(ajax_load);
 $.post(
 loadUrl,
 {like: "like", value: likevalue},
 function(responseText){
$("#load").hide();
 $("#result").html(responseText);
 },
 "html"
 );
 }); 

Вместо того, чтобы делать это подробно, вы можете использовать «события ajax» и связывать обратный вызов для выполнения действия, когда ajax запускается и когда ajax останавливается

0 голосов
/ 01 сентября 2010

Вместо того, чтобы делать $('#load').html(ajax_load);, просто поместите тег изображения непосредственно в HTML. Затем вы можете использовать $('#load').show();, чтобы отобразить его, и $('#load').hide();, чтобы скрыть его;

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...