Sto progettando un contenitore di riepilogo per la pagina autore in un sito Web di pubblicazione di libri. Alcuni autori hanno più contenuti di riepilogo, mentre altri hanno meno contenuti. Voglio abilitare/disabilitare il pulsante Mostra più/meno dinamicamente quando l'altezza del contenitore div attraversa un'altezza di taglio (180px). Quindi, risulta controllare l'altezza del contenitore div in modo dinamico (180px e altezza originale). Ho bisogno di un pezzo di codice che funzioni perfettamente su tutti i browser.Come attivare un'operazione di show o hide in base alla dimensione div quando il browser viene ridimensionato
Ho un codice implementato qui:
http://jsfiddle.net/rraagghhu/9dgs6432/3/
HTML:
<div class = "container">
<div class="info-wrapper">
<div class="info">
Chetan Bhagat is the author of six blockbuster books.These include five novels—Five Point Someone (2004), One Night @ the Call Center (2005), The 3 Mistakes of My Life (2008), 2 States (2009),
Revolution 2020 (2011), the non-fiction title What Young India Wants (2012) and Half Girlfriend (2014). Chetan’s books have remained bestsellers since their release.
Four out his five novels have been already adapted into successful Bollywood films and the others are in process of being adapted as well. The New York Times called him the ‘the biggest selling English language novelist in India’s history’. Time magazine named him amongst the ‘100 most influential people in the world’ and Fast Company, USA, listed him as one of the world’s ‘100 most creative people in business’. Chetan writes columns for leading English and Hindi newspapers, focusing on youth and national development issues. He is also a motivational speaker and screenplay writer. Chetan quit his international investment banking career in 2009 to devote his entire time to writing and make change happen in the country. He lives in Mumbai with his wife, Anusha, an ex-classmate from IIM-A, and his twin boys, Shyam and Ishaan. You can email him at [email protected] or fill in the Guestbook with your feedback. You can also follow him on twitter (@chetan_bhagat) or like his Facebook fanpage (https://www.facebook.com/chetanbhagat.fanpage).
</div>
<a href="#" class="more">(more)</a>
<a href="#" class="less">(less)</a>
</div>
<div class = "footer"> THIS IS FOOTER </div>
</div>
CSS:
.container{
background-color: yellow;
}
.footer{
background-color: yellow;
}
.info-wrapper {
height: auto;
position: relative;
width: auto;
padding: 0 0 2.5em 0;
background-color: red;
}
.info {
max-height: 180px;
height: auto;
width: auto;
overflow: hidden;
position: relative;
text-align: justify;
}
.info:after, .aftershadow {
bottom: 0;
width: auto;
height: auto;
}
.info-wrapper a {
left: 50%;
position: relative;
font: 700 .67em/1.25em Arial;
text-align: center;
text-decoration: underline;
cursor: pointer;
}
.less { height: auto; display: none; }
.more { display: none; }
Jquery:
if($(".info")[0].scrollHeight > $(".info").height()) {
$("a.more").show();
}
$("a.more").click(function(e){
e.preventDefault();
$(".info").css({"overflow": "visible"});
$("a.less").show();
$("a.more").hide();
return false;
});
$("a.less").click(function(e){
e.preventDefault();
$(".info").css({"overflow": "hidden"});
$("a.more").show();
$("a.less").hide();
return false;
});
Come si può vedere, il piè di pagina rimane nella posizione assoluta. Se viene premuto il pulsante più, il (meno) dovrebbe scendere, al di sotto dovrebbe essere il piè di pagina. È possibile abilitare/disabilitare il pulsante mostra più/meno dinamicamente quando il browser viene ridotto/espanso?
Grazie per avermi aiutato. Ora, ti chiedo di fare quanto segue. 1. Vai al link JSFiddle aggiornato che hai indicato sopra. 2. Espandere la schermata dei risultati più ampia possibile. 3. Eseguire lo script. 4. Ora, ridurre la schermata dei risultati. Si può vedere che un testo alla fine scompare man mano che si restringe sempre più vicino. Questo perché ridimensiona la larghezza dello schermo durante il runtime. È possibile scrivere un codice per risolvere anche questo problema? Grazie per avermi aiutato. :-) –
Vuoi dire nascondere il pulsante 'mostra di più' quando l'altezza' info' inferiore a '180px' e mostra il pulsante quando l'altezza di' info' è maggiore di '180px' quando ridimensiona la finestra? –
Controlla il mio JSFiddle, l'ho aggiornato. Grazie;) –