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 /* Админ */#
Тут нужно внимательно посмотреть код и протестировать его локально и отдельно для выявления причины – возможно, конфликт скриптов, либо одинаковый код вызова (по id, например).
Андрей#
И на денвере, и на хостинге одинаково, автоматом второй спойлер открывается) Если не трудно можете посмотреть? floomby.ru/s2/M4fw2k Я только учусь, не ругайте сильно)
coder.hol.es /* Админ */#
В спойлере "0-9" вторая, третья и четвертая ссылки – не закрыт тег </a>.
Андрей#
Блин) Я себя сейчас лохом чувствую, спасибо огромное)