js Подгрузка контента без перезагрузки страницы 

Дата публикации  Дата изменения31.01.13  Комментарии35   Просмотры26764

Ajax, просто и практично, ничего лишнего. Контент может быть любой: статичный, динамичный, текст, картинки, флэш, видео, аудио. Может послужить основой небольшого сайта.

Пример использования:

Между <head></head>:

<script> 
    function showContent(link) { 
        var cont = document.getElementById('content'); 
        var loading = document.getElementById('loading'); 
        cont.innerHTML = loading.innerHTML;   
        var http = createRequestObject(); 
        if( http )  
        { http.open('get', link); 
            http.onreadystatechange = function ()  
            {   if(http.readyState == 4)  
                {   cont.innerHTML = http.responseText;  }    } 
            http.send(null);  } 
        else  
        {  document.location = link;   }   } 
    // ajax объект
    function createRequestObject()  
    {  try { return new XMLHttpRequest() } 
        catch(e)  
        {  try { return new ActiveXObject('Msxml2.XMLHTTP') } 
            catch(e)  
            {   try { return new ActiveXObject('Microsoft.XMLHTTP') } 
                catch(e) { return null; }   } } } 
</script>

Между <body></body>:

<a href="#" onClick="showContent('page1.html')">Страница 1</a>
<a href="#" onClick="showContent('page2.html')">Страница 2</a>
<!--//-->
<div id="content">
    <!-- CONTENT -->
</div> 
<!--//-->
<div id="loading" style="display: none"> 
    Идет загрузка... 
    </div> 
 <script>
showContent('page1.html') // страница по умолчанию
</script>

  Размер:  6,61kB | Изменен: 31.01.13 | Загрузок: 1836
Бесплатные курсы

Категории

Теги: , ,

Оцените материал:

Рейтинг: 8.0/10 (32)


КомментарииКомментарии:

    coder.hol.es /* Админ */

     

    Спасибо, Юрий. Я не автор – где-то и когда-то нашел в инете, источник (действительный), не сохранился, к сожалению. Присоединяюсь к Вашим словам об авторе.

    Станислав

     

    Здравствуйте. А как можно сделать что бы менялся еще и URL и после полной перезагрузки страницы сохранялась та на которой ты был.

    coder.hol.es /* Админ */

     

    Здравствуйте. Посмотрите:
    _http://forum.php.su/topic.php?forum=40&topic=4124
    _http://habrahabr.ru/post/17640/

    Иван

     

    Здравствуйте, спасибо за то, что выложили код. Сразу все установилось и работает! Однако интересует возможность скрытия контента после его подгрузки нажатием одной и той же кнопки. То есть чтобы нажал 1 раз – контент подгрузился, нажал 2 раз – контент исчез. Что можно было бы изменить в данном коде, чтобы реализовать такую возможность. Заранее благодарю!

    coder.hol.es /* Админ */

     

    Здравствуйте, пожалуйста =). Думается, что для реализации указанного вами, оптимальней воспользоваться спойлерами. Например: _http://coder.hol.es/archive/spoiler_jq, _http://coder.hol.es/archive/simple_spoiler_js


Поля, обозначенные как *, обязательны.





Максимальная длина сообщения 900 символов. Осталось   символов

 

Старые →← Новые