Ich habe eine bestehende Website, die ein Hintergrundbild auf der Homepage erfordert.jquery: Bildformat beibehalten, während ein Hintergrundbild in der Größe geändert wird
Der folgende Code funktioniert perfekt auf der Website, aber ich kann nicht herausfinden, wie das Bildseitenverhältnis beibehalten wird.
function resize(itemToResize){
var newHeight = $(document).height() -120,
newWidth = $(window).width();
$(itemToResize).css({
"width" : newWidth,
"height" : newHeight
});
};
Ich glaube, ich irgendeine Art von if-Anweisung muß, wie wenn die Breite ist das gleiche wie die Fensterbreite und die Höhe ist zu klein, auf Übereinstimmung mit der Höhe und stellen Sie die Breite ... Ich kann einfach nicht funktionieren aus der richtigen Syntax!
Update: mit der hier beschriebenen Methode Whats the algorithm to calculate aspect ratio? I need an output like: 4:3, 16:9 kann ich auf das Seitenverhältnis des Bildes zugreifen. Allerdings habe ich jetzt mein Verhältnis, ich weiß nicht, was ich damit machen soll!
Aktualisiert Code: -
function gcd (a, b) {
return (b == 0) ? a : gcd (b, a%b);
}
function resize(itemToResize){
var newHeight = $(document).height() -120,
newWidth = $(window).width();
var w = $(itemToResize).width(),
h = $(itemToResize).height(),
r = gcd (w, h);
$(itemToResize).css({
"width" : newWidth,
"height" : newHeight
});
};
UPDATE 2:
Nach dem Einstecken für ein bisschen an diese weg mehr habe ich diesen Code:
function resize(itemToResize){
var AspectRatio = $(itemToResize).width()/$(itemToResize).height();
var WindowHeight = $(document).height() -205;
var WindowWidth = $(window).width();
var AspectRatio = WindowWidth/WindowHeight;
if (AspectRatio >= AspectRatio) {
$(itemToResize).css({
"width" : WindowWidth,
"height" : WindowWidth/AspectRatio
});
$('body').css({
"height" : WindowWidth/AspectRatio
});
} else {
$(itemToResize).css({
"width" : WindowHeight*AspectRatio,
"height" : WindowHeight
});
$('body').css({
"height" : WindowHeight
});
};
};
, die die Ration unterhält aber doesn nicht richtig richtig dehnen. Also eine Lösung, aber nur teilweise.
HINWEIS: Ich habe die Höhe einzustellen Attribut anzupassen "Dokument" als "Fenster" ist zu klein. – Andrew
siehe Updates und lassen Sie mich wissen. ;-) –