Tengo un problema con la función "leer más" que he implementado en mi sitio web. El código funciona bien, pero solo después de presionar dos veces el botón Leer más creado con el código. Este código funciona cuando detecta la etiqueta Leer más de Wordpress en el campo de texto en el backend y divide el texto en dos partes.
Pegaré un video del problema aquí: https://vimeo.com/732701370
También puede ver el problema en una página de mi sitio web como esta: https://mallorca-select.com/properties-for-sale/villa-project-in-ibiza/
Creo que el código está funcionando bien pero solo hay algo que al principio hace que la lectura no se doble más. Si alguien puede señalarme en la dirección correcta, sería increíble. Gracias
CÓDIGO PHP:
<?php if(get_field('property_description')){ $highlights = get_field('property_description'); if(strpos($highlights, '<!--more-->') !== false) { $start = strstr($highlights, '<!--more-->', true); $end = strstr($highlights, '<!--more-->'); echo "<div class='exsec'>".$start."</div>"; echo "<div class='fullsec'>".$end."</div><div class='btnRM'><a href=''>READ MORE</a></div>"; } else { echo $highlights; } }?>CÓDIGO JAVASCRIPT:
jQuery('.btnRM a').click(function(e){ e.preventDefault(); if(jQuery(this).text()=="READ MORE"){ jQuery(this).parent().prev('.fullsec').fadeIn(); jQuery(this).text('LESS'); } else { jQuery(this).parent().prev('.fullsec').fadeOut(); jQuery(this).text('READ MORE'); } });Según su video, veo que el texto oculto ya se mostró. Por lo tanto, el primer clic en el botón READ MORE no hará nada y no se desvanecerá porque el contenido ya se mostró (excepto el texto cambiado a LESS ). jQuery fadeIn() no hace nada si el elemento ya se mostró y lo mismo ocurre con fadeOut() para el elemento oculto.
Si desea ocultar el contenido al principio, actualice el elemento div con este <div class='fullsec' style='display: none;'> dentro de su código PHP. El código Javascript está bien.