Показывает загрузочное изображение, когда ajax начинает работать в фоновом режиме

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

<script>
function st()
{
    if (window.XMLHttpRequest)
    {
        xmlhttp=new XMLHttpRequest();
    }
    else
    {
        xmlhttp=new ActiveXObject('Microsoft.XMLHTTP');
    }
    xmlhttp.onreadystatechange=function()
    {
        if (xmlhttp.readyState==4 && xmlhttp.status==200)
        {
        alert('RECORDING Start');
        }

    }
    xmlhttp.open('GET','http://localhost/IPCAM/start.php;)

    xmlhttp.send();

setTimeout('st()',5000);
}
</script> 

И эта кнопка, когда я нажимаю на эту кнопку, ajax запускает фон.

<button OnClick="st()">Record</button>

У меня нет идеи сделать это, пожалуйста, кто-то может мне помочь.

2 ответа

Решение

Для начала я нахожу ваш вопрос очень неясным, но позвольте мне попробовать:

Убедитесь, что у вас есть класс CSS, который определяет изображение:

.recordingBackground
{
    background-image: url("record.png");
}

(Или просто используйте JavaScript)

Создать кнопку:

<input type="button" id="recordButton" value="Record" />

Заставьте jQuery прослушивать кнопку, и вы можете добавить класс к элементу:

$('#recordButton').live("click", function()
{
    $('#background').addClass('recordingBackground');
    // Or use a similar method (for example: pure javascript).
    // #background is just an example div.
});

Добавьте div с идентификатором loadingDiv и измените свой код на этот

<script>
function st()
{
                        if (window.XMLHttpRequest)
                        {
                            xmlhttp=new XMLHttpRequest();
                        }
                        else
                        {
                            xmlhttp=new ActiveXObject('Microsoft.XMLHTTP');
                        }
                        xmlhttp.onreadystatechange=function()
                        {
                            if (xmlhttp.readyState==1)
                            {
                            document.getElementById("loadingDiv").innerHTML = "<img src='loading.gif'/>";
                            }
                            if (xmlhttp.readyState==4 && xmlhttp.status==200)
                            {
                            alert('RECORDING Start');
                            }

                        }
                        xmlhttp.open('GET','http://localhost/IPCAM/start.php;

                        xmlhttp.send();

setTimeout('st()',5000);
}
</script> 
Другие вопросы по тегам