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>
Комментарии:
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