Nová ukázka
Reset
Načíst z URL
Uložit a získat odkaz
Vztahuje se k…
Nevyplňujte
Napiště „nejsem robot“
▶
Přepnout zobrazení
Výsledek
<h1>Přednáčítání obsahu AJAXem</h1> <p>Při stisknutí tlačítka se začne načítat obsah do zeleného rámečku, při dokončení akce se přesune do červeného.</p> <p>Pokud se stihne akce dokončit před načtením, rovnou se obsah objeví v zeleném.</p> <p> <button class="ajax" data-url="/gwib-">Načíst stránku</button> </p> <div id="obsah"></div> <div id="prednacteni"></div>
HTML
Autoformát
Standardní režim
Mobilní zobrazení
#obsah { border: solid green; } #prednacteni { border: solid red; }
CSS
Autoformát
CSS reset
Až na konci
var pripravenaData, prejit; var obsah = document.getElementById("obsah"); var prednacteni = document.getElementById("prednacteni"); function nacist(url) { var xhr = new XMLHttpRequest(); xhr.onreadystatechange = function() { if (xhr.readyState == 4) { if (prejit) { obsah.innerHTML = xhr.responseText; prejit = false; } else { prednacteni.innerHTML = xhr.responseText; pripravenaData = true; } } }; xhr.open('GET', url); xhr.send(); } var proAjax = document.querySelectorAll(".ajax"); for (var i = proAjax.length; i--;) { proAjax[i].onmousedown = function() { pripravenaData = false; nacist(this.getAttribute("data-url")); }; proAjax[i].onmouseup = function() { if (pripravenaData) { obsah.innerHTML = prednacteni.innerHTML; prednacteni.innerHTML = ""; pripravenaData = false; prejit = false; } else { prejit = true; } } }
J
ava
S
cript
Autoformát
jQuery
Umístění JS
window.onload
</head>
</body>