Autor Zpráva
Daviart
Profil
Zdravím,
s JavaScriptem nemám valné zkušenosti (vlastně, skoro žádné) a proto bych rád požádal o radu.

Potřebuji přizpůsobit rozměr obrázku divu. Divy mají pohyblivý rozměr podle velikosti okna prohlížeče, tudíž neznám jejich pravou šíři. Rozměr obrázku mám uložený v databázi. Přepočítat rozměr by měl jít jednoduchou přímou úměrou (trojčlenkou).

(šířka div)×(výška obrázku)/(šířka obrázku)=(výška div)

Ale nevím si rady jak vytvořit v JS funkci, která by vrátila požadovaný výsledek.

Našel jsem něajké ukázky zjištění šířky a výšky. Ale neumím je prakticky použít:

<div id="premerit"><img src="#" width="?px" height="?px" /></div>

<script>
  var premerit = document.getElementById('premerit');
</script>

 <p>Šířka: <tt class="live" data-eval="premerit.offsetWidth">400</tt></p>
 <p>Výška: <tt class="live" data-eval="premerit.offsetHeight">154</tt></p>

<script>
  function reCount() {
    var items = document.getElementsByTagName("tt");
    for (var i = 0; i < items.length; i++) {
      items[i].innerHTML = eval(items[i].getAttribute("data-eval"));
    }
  }
  
  window.onload = window.onresize = premerit.onmouseup = reCount;
</script>
xROAL
Profil
Nebolo by jednoduchšie obrázku nastaviť šírku na 100%?
Tým pádom by sa natiahol na celú šírku svojho rodiča (v tomto prípade daného DIVu) a výška by sa prispôsobila automaticky, aby sa zachoval pomer strán.
Daviart
Profil
xROAL:

Tak jsem to měl, ale mám nastavené přes Jquery zarovnávání div tak aby nevznikaly mezery na výšku. I když mám nastavené aby se zarovnání provedlo po načtení obsahu stránky. Obrázky se načtou přes sebe jak karty. Pouze s pevně daným rozměrem vyrovnání funguje. Proto mě napadlo toto řešení.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: