Tengo una función que obtiene la altura del párrafo y calcula la altura de la imagen restando 100vh - altura del párrafo, cada vez que se carga la imagen.
Da como resultado un efecto no satisfactorio, me gustaría restar el valor más alto que obtiene esta función.
Entonces, creo que el mejor enfoque sería pasar datos de múltiples cargas a una sola variable y elegir la más alta. Aunque soy js principiante y no tengo idea de cómo hacerlo. Corrígeme si me equivoco.
$(".module img").one("load", function () { var z = $(this).next('p').height() console.log(z) $('.module img').css({'height': 'calc(100vh - ' + z + 'px)'}) }).each(function() { if(this.complete) { //$(this).load(); // For jQuery < 3.0 $(this).trigger('load'); // For jQuery >= 3.0 } });Algo como esto debería hacer el trabajo:
Simplemente almacena el valor más alto en la variable y lo usa
let maxHeight = 0; $(".module img").one("load", function () { var z = $(this).next('p').height() if (z > maxHeight){ maxHeight = z; } console.log(z) $('.module img').css({'height': 'calc(100vh - ' + maxHeight + 'px)'}) }).each(function() { if(this.complete) { //$(this).load(); // For jQuery < 3.0 $(this).trigger('load'); // For jQuery >= 3.0 } });