Autor Zpráva
Aktak
Profil
Dobrý den,
Chtěla bych poprosit o radu úpravy jquery:
http://www.javascriptkit.com/script/script2/thumbslider.shtml

Používam fotky na šířku i na výšku a thumbnails mi ty výškové deformuje (zachová výšku a roztáhne do šířky). V hlavním okně je to v pořádku. Nevíte, prosím, někdo, zda se dá nějak upravit, aby se ty výšky v thumbnails zobrazily celé a měly po straně prázdné místo?

Jsem docela začátečník, takže pokud někdo budete tak hodný a poradíte, tak prosím nějak polopatě. Pokud je to složité, tak mě klidně pošlete do háje a já ty výšky vyhodím.

Díky,
Katka
CZghost
Profil
Aktak:
Používam fotky na šířku i na výšku a thumbnails mi ty výškové deformuje
Používáš fixní rozměry. Mělo by jít nastavit maximální šířku a výšku a dopočítávat je podle poměru stran. To znamená změřit si poměr stran pomocí tohoto poměru --> šířka / výška původního obrázku a nejlépe asi pomocí podmínek určující, zda je poměr menší než jedna, větší než jedna nebo roven jedné, dopočítávat jednu stranu podle té fixní. Kód bude vypadat nějak podobně tomuhle:
/* *** Výpočet rozměrů obrázku *** */
var maxSirka = 40;
var maxVyska = 40; // Maximální výška a šířka, čtvercové rozměry, upravit podle potřeby

/*
**** Tady bude kód zjišťující rozměry obrázku (předpokládám, že používáš jQuery, pomocí něj by jsi měla být schopna
**** zjistit rozměry skutečného obrázku
**** Poměr stran vyjádřený desetinným číslem bude bude v proměnné pomer
*/

if(pomer < 1) {
    // Případ výškového obrázku
    vyska = maxVyska; // Použiju maximální výšku
    // Dopočítám šířku k obrázku, použiju k tomu šířkový poměr (šířka je menší než výška, tudíž výsledek bude
    // menší než jedna), toto nechám na zkušenějším.
}
if(pomer == 1) {
    // Čtvercový obrázek, můžu použít oboje maximální hodnoty
    // Pozor na rovnost, zapisuje se se dvěma rovnítky...
    vyska = maxVyska;
    sirka = maxSirka;
}
if(pomer > 1) {
    // Případ obrázku na šířku
    sirka = maxSirka;
    // Dopočítám výšku k obrázku, použiju k tomu výškový poměr (výška je menší než šířka, tudíž výsledek bude
    // menší než jedna), toto nechám na zkušenějším.
}

// Tady bude kus kódu, který vloží obrázek o nových rozměrech (asi voláním PHP skriptu s parametry GET
// v src obrázku (+ předání rozměrů elementu, aby to neskákalo :-) )
Není to úplně ideální pomoc, ale alespoň jsem Ti nastínil, kde je problém.

Mimochodem, stejný problém je na Loupáku, ale tam si s tím hlavu nelámají :-) Řešení s maximálními rozměry a dopočítáváním druhého rozměru podle poměru stran využívají na projektech Wikimedia Foundation (například Wikipedie). Řešení možná najdeš v softwaru MediaWiki, kde je toto řešení použito v galerii.
Aktak
Profil
Děkuji, zkusím se na to podívat. Bylo mi jasné, že to musí jít přes nějakou podmínku, ale jak jsem psala, jsem začátečník. Proto jsem volila jquery. Používám to v odkazu nahoře. Vzhled jsem si upravila, ale na ty výšky jsem prostě nemohla přijít.
Katka

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: