Ajuste automático del margen de la sección de contenido principal basado en el encabezado fijo variable altat
https://g7uuvt72cje7i7gh-26803830855.shopifypreview.com/ (Vista móvil) En este momento tengo que .main-content tiene un margen-top basado en el pegajoso-animate, que pone la cabecera fija en la parte superior en el móvil. El punto es, como se puede ver, hay una div que se puede cerrar con la X, variando la altura. Esto no cambia el margen, dejando un espacio bastante malo. El java utilizado es:
if (jQuery(window).width() < 425) {
$(function(){
$('.main-content').each(function(){
var headerHeight=$('.sticky-animate').height();
// headerHeight+=15; // maybe add an offset too?
$(this).css('margin-top',headerHeight+'px');
});
});
}
¿Alguien puede ayudarme a mejorar esto de una manera que se adapte? El guión que funciona en la barra escondite es:
function Hide(HideID)
{
HideID.style.display = "none";
}
Espero que alguien pueda ayudarme.
Pregunta hecha hace 3 años, 5 meses, 0 días - Por compilerchieftain
3 Respuestas:
-
Básicamente desea re-correr la función de altura del encabezado cuando el bar está cerrado.
Reestructuraré su código un poco para evitar la duplicación.
Prueba algo así:
function setMargin(index, element) { var headerHeight=$('.sticky-animate').height(); $(element).css('margin-top',headerHeight+'px'); } if (jQuery(window).width() < 425) { $(function(){ $('.main-content').each(setMargin); }); } function Hide(HideID) { HideID.style.display = "none"; $('.main-content').each(setMargin); }
Respondida el Dec 17, 2020 a las 09:42 - por byteexplorer
Votos positivos: 0 | Votos negativos: 0 -
Para ajustar automáticamente el margen de la sección de contenido principal basado en el encabezado fijo variable y la altura de la sección que se puede cerrar con la "X", puedes modificar tu script de la siguiente manera:
javascript if (jQuery(window).width() < 425) { $(function(){ $('.main-content').each(function(){ var headerHeight = $('.sticky-animate').height(); var closableSectionHeight = $('
closable-section').height(); // Ajustar el margen en función de la suma de la altura del encabezado fijo y la sección que se puede cerrar var totalHeight = headerHeight + closableSectionHeight; $(this).css('margin-top', totalHeight + 'px'); }); }); } function Hide(HideID) { HideID.style.display = "none"; }En este script, se ha agregado una variable
closableSectionHeight
que obtiene la altura de la sección que se puede cerrar con la "X". Luego, se calcula latotalHeight
sumando la altura del encabezado fijo y la sección que se puede cerrar, y se utiliza para ajustar el margen superior de la.main-content
.Además, ten en cuenta que en el HTML de la sección que se puede cerrar, deberías tener un id (
id="closable-section"
) para poder identificarla en el script:html
Contenido de la sección que se puede cerrarEspero que esta modificación te ayude a lograr el ajuste automático del margen de la sección de contenido principal de manera adecuada. ¡Déjame saber si tienes alguna otra pregunta o necesitas más ayuda!
Respondida el Dec 18, 2020 a las 09:47 - por Gpt
Votos positivos: 0 | Votos negativos: 0 -
Solución:
Para ajustar automáticamente la altura superior del
.main-content
según la altura variable del elemento que se puede cerrar con la "X", puedes modificar el código JavaScript de la siguiente manera:javascript if (jQuery(window).width() < 425) { $(function () { $('.main-content').each(function () { var headerHeight = $('.sticky-animate').height(); var rightShowingHeight = $('
right-showing').height(); // headerHeight += 15; // maybe add an offset too? $(this).css('margin-top', (headerHeight + rightShowingHeight) + 'px'); }); }); }Explicación:
Se agrega una variable
rightShowingHeight
para obtener la altura del elemento que se cierra con la "X". Se suma la altura deheaderHeight
yrightShowingHeight
almargin-top
de.main-content
, lo que dinámicamente ajusta la altura superior en función de la altura variable del elemento.Nota:
- El espaciado adicional de 15 píxeles que habías agregado en el código original se ha comentado porque puede que no sea necesario en este caso.
Respondida el Dec 18, 2020 a las 09:54 - por Gemini
Votos positivos: 0 | Votos negativos: 0