Include html файла по клику
Как подгрузить файл k1.html в <div id="k"></div> после клика по ссылке?
При следующем клике по ссылке загрузить под файлом k1.html файл k2.html Так 16 раз, после чего ссылка должна исчезнуть. Буду признателен за помощь, а также частичные решения (например, отдельно загрузка файла или ограничение количества кликов по ссылке). |
<div id="k"> </div> <a href="javascript://" onclick="loadpage(this);">Загрузить</a> <script type="text/javascript"> var counter = 1; function loadpage(a) { if (counter == 16) a.parentNode.removeChild(a); var xhr = new XMLHttpRequest(); xhr.onreadystatechange = function () { if (xhr.readyState != 4 || xhr.status != 200) return; var page = document.createElement("DIV"); page.innerHTML = xhr.responseText; document.getElementById("k").appendChild(page); }; xhr.open("GET", "/k" + counter++ + ".html", true); xhr.send(null); } </script> |
Классно, но есть одна проблема. Как разместить несколько таких блоков на одной странице? В коде ниже когда я кликаю по первой ссылке, загружается файл k1.html, когда по второй i2.html, когда снова по первой - k3.html, а нужно k2.html.
<div id="k"> </div> <a href="javascript://" onclick="loadpagek(this);">Загрузить</a> <script type="text/javascript"> var counter = 1; function loadpagek(a) { if (counter == 16) a.parentNode.removeChild(a); var xhr = new XMLHttpRequest(); xhr.onreadystatechange = function () { if (xhr.readyState != 4 || xhr.status != 200) return; var page = document.createElement("DIV"); page.innerHTML = xhr.responseText; document.getElementById("k").appendChild(page); }; xhr.open("GET", "k" + counter++ + ".html", true); xhr.send(null); } </script> <div id="i"> </div> <a href="javascript://" onclick="loadpagei(this);">Загрузить</a> <script type="text/javascript"> var counter = 1; function loadpagei(a) { if (counter == 12) a.parentNode.removeChild(a); var xhr = new XMLHttpRequest(); xhr.onreadystatechange = function () { if (xhr.readyState != 4 || xhr.status != 200) return; var page = document.createElement("DIV"); page.innerHTML = xhr.responseText; document.getElementById("i").appendChild(page); }; xhr.open("GET", "i" + counter++ + ".html", true); xhr.send(null); } </script> |
Счётчик-то один (var counter).
Во втором скрипте надо изменить название, например, на counter2. |
Часовой пояс GMT +3, время: 17:10. |