| Autor | Zpráva | ||
|---|---|---|---|
| xaverista Profil |
#1 · Zasláno: 8. 7. 2015, 19:31:57
Zdravím,
chtěl bych Vás požádat o opravu, zkrácení kódu jquery... Jelikož se Jquery teprve učím, zkusil jsem vytvořit jednoduchou kalkulačku a chtěl bych Vás poprosi, zda by jste mi mohli pomoci s optimalizací kódu popř. navrhnout úpravy... <script>
$(document).ready(function() {
$('#hra').change(function(){
var option = $(this).val();
if ($("#hra").val() == "mc") {
var max = 250;
var price = 0.25;
};
if ($("#hra").val() == "cs16") {
var max = 32;
var price = 0.18;
};
if ($("#hra").val() == "sm") {
var max = 1000;
var price = 0.01;
};
$(".hry").show(0);
$(".ukaz_cena").slideDown(500).show(0);
$("#sloty").empty();
for (var i = 1; i <= max; i++) {
$("#sloty").append($("<option></option>").val(i).html(i));
};
var sloty = 1;
var cena = sloty*price;
var denne = cena/30;
$('#ukaz').text(cena.toFixed(2));
$('#den').text((cena/30).toFixed(4));
$('#sloty').change(function(){
var sloty = $('#sloty').val();
var cena = sloty*price;
var denne = cena/30;
$('#ukaz').text(cena.toFixed(2));
$('#den').text((cena/30).toFixed(4));
});
});
});
</script>Díky, xaverista |
||
| Joker Profil |
#2 · Zasláno: 8. 7. 2015, 21:47:24
xaverista:
Co tam vidím za problémy: 1. Deklaruje se proměnná option, která pak nikde není použitá. 2. Sekvence příkazu if ($("#hra").val() == … pokaždé znovu konstruuje jQuery objekt a zjišťuje hodnotu pole, místo aby se hodnota zjistila jednou a pak jen používala. Shodou okolností je podle mě $("#hra").val() hodnotou proměnné option, protože ten prvek hra je zároveň this. V tom případě je $("#hra").val() dost zdlouhavá objížďka k this.value.
3. Není mi jasné, co je účelem sekvence slideDown + show. Prvek zobrazí už to slideDown, takže show mi připadá zbytečné. 4. To vytváření HTML přes jQuery v cyklu mi připadá ukecané a pomalé. 5. Prvek sloty může obsahovat až 1000 položek. Nebude to pro uživatele nepohodlné? 6. Žádná z proměnných jménem denne se nikde nepoužívá.
|
||
|
Časová prodleva: 10 let
|
|||
0