Lekce 7 (4. listopadu 2021)

Vložení do HTML

<head>
<script type="text/javascript" language="javascript" src="soubor.js">
</script>
<script type="text/javascript" language="javascript">
// JS kód
</script>
...
</head>

JQuery

Příklad: načítání stránky

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Dlouhá stránka</title>
<script type="text/javascript" language="javascript"
    src="jquery-3.3.1.min.js"></script>
<script type="text/javascript" language="javascript">
$(window).on("load", function() {
    $('.loading').fadeOut(2000);
});
</script>
<style type="text/css">
.loading {
   position: fixed; z-index: 1000;
   left: 50%; top: 50%;
   padding: 1ex; border: 1px solid black;
}

</style>
</head>
<body>
<p class="loading">Stránka se načítá...</p>
<h1>Nadpis</h1>

<p>Obsah stránky</p>
<p>Obsah stránky</p>
<p>...</p>

</body>
</html>

Příklad: automatický obsah

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Stránka s obsahem</title>
<script type="text/javascript" language="javascript"
    src="jquery-3.3.1.min.js"></script>
<script type="text/javascript" language="javascript">
$(document).ready(function() {
    $('H2').each(function(index, title) {
        $("#toc").append("<li>" + $(title).text() + "</li>");
    });
});
</script>
</head>
<body>
<ul id="toc" style="color:blue">
</ul>
<h1>Hlavní nadpis</h1>

<p>Lorem Ipsum...</p>

<h2>První sekce</h2>
<p>Lorem Ipsum...</p>

<h2>Druhá sekce</h2>
<p>Lorem Ipsum...</p>


</body>
</html>

Příklad: kvadratická rovnice

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Řešení kvadratické rovnice</title>
<script type="text/javascript" language="javascript" src="jquery-3.3.1.min.js"></script>
<script type="text/javascript" language="javascript" src="kvadrrov.js"></script>
<style type="text/css">
.rovnice INPUT {
  width: 3em;
}
</style>
</head>
<body>
<h1>Řešení kvadratické rovnice</h1>

<p class="rovnice">
<input type="text" name="a" id="a" value="1" />
<i>x</i><sup>2</sup> +
<input type="text" name="b" id="b" value="2" />
<i>x</i> +
<input type="text" name="c" id="c" value="1" />
= 0
</p>
<p>
<input type="button" id="pocitej" value="Spočítat" />
</p>
<p>Řešení: <span id="reseni" /></p>

<p id="chyba"></p>

</body>
</html>

function neniCislo(x) {
    return x == "" || isNaN(x);
}

function spocitej() {
    $("#chyba").text("");
    $("#reseni").text("");
    var a = $("#a").val().trim();
    var b = $("#b").val().trim();
    var c = $("#c").val().trim();
    if (neniCislo(a) || neniCislo(b) || neniCislo(c)) {
        $("#chyba").text("Koeficienty musí být čísla.");
        return;
    }
    var eps = 0.0001;
    var diskr = b*b - 4*a*c;
    if (diskr < -eps) {
        $("#reseni").text("rovnice nemá řešení v oboru reálných čísel.");
    } else if (diskr > eps) {
        var x1 = (- b + Math.sqrt(diskr)) / (2*a);
        var x2 = (- b - Math.sqrt(diskr)) / (2*a);
        $("#reseni").html("x<sub>1</sub> = " + x1 + " &nbsp; " + "x<sub>2</sub> = " + x2);
    } else {
        var x12 = -b / (2*a);
        $("#reseni").html("x<sub>1,2</sub> = " + x12);
    }
}

$(document).ready(function(){
    $("#pocitej").click(spocitej);
    $(".rovnice INPUT").change(spocitej);
    $(".rovnice INPUT").keypress(spocitej);
    $(".rovnice INPUT").keydown(spocitej);
    $(".rovnice INPUT").keyup(spocitej);
    $("#pocitej").click();
});

Další příklady

Hodnocený příklad

Licence Creative Commons
Alej.alisma.cz, jejímž autorem je Vojtěch Horký, podléhá licenci
Creative Commons Uveďte autora-Zachovejte licenci 4.0 International.