Ciao a tutti,
ho un bizzarro problema che non so spiegarmi.
Ho come template beez3 e joomla 3.8.3: ho personalizzato l'index.php in modo da far apparire un bottone back to top, in questo modo.
Nell'head richiamo i font-awesome.
Subito sotto a <div id="all">:
<button class="btn" onclick="topFunction()" id="myBtn" style="border: none;">
<i class="fa fa-chevron-up">
</button>
E prima della chiusura del /body lo script:
<script>
window.onscroll = function() {scrollFunction()};
function scrollFunction() {
if (document.body.scrollTop > 20 || document.documentElement.scrollTop > 20) {
document.getElementById("myBtn").style.display = "block";
} else {
document.getElementById("myBtn").style.display = "none";
}
}
function topFunction() {
document.body.scrollTop = 0;
document.documentElement.scrollTop = 0;
}
</script>
E relativo css:
#myBtn {
position: fixed;
bottom: 5px;
right: 5px;
background: orange;
opacity: 0.6;
width: 40px;
height: 40px;
display: block;
text-decoration: none;
z-index: 20000000;
-webkit-border-radius: 10px;
-moz-border-radius: 10px;
border-radius: 10px;
display: none;
-webkit-transition: all 0.3s linear;
-moz-transition: all 0.3s ease;
-ms-transition: all 0.3s ease;
-o-transition: all 0.3s ease;
transition: all 0.3s ease;
}
#myBtn i {
color: #fff;
margin: 0;
position: relative;
font-size: 19px;
z-index: 20000000;
-webkit-transition: all 0.3s ease;
-moz-transition: all 0.3s ease;
-ms-transition: all 0.3s ease;
-o-transition: all 0.3s ease;
transition: all 0.3s ease;
}
#myBtn:hover i {
color: #fff;
top: -5px;
z-index: 20000000;
}
#myBtn:hover {
background: #ee7600;
z-index: 20000000;
}
Tutto funziona bene, ma con chrome per android (ultima versione del play store) ho un comportamento anomalo che non riesco a spiegarmi, in una pagina del sito.
In questa pagina ho molteplici paragrafi, come ad esempio:
<p style="text-align:justify">
contenuto1
</p>
<p style="text-align:justify">
contenuto2
</p>
<p style="text-align:justify">
contenuto3
</p>
Succede che al caricamento della pagina la dimensione dei font è uniforme, quando scrollo verso il basso e supero i 20px dal top appare il bottone, ma appena appare i font del primo <p></p> si rimpiccioliscono; se scrollo verso l'alto, quando il bottone scompare, i font tornano uniformi.
Il responsabile di questo cambiamento è questa parte di script:
function scrollFunction() {
if (document.body.scrollTop > 20 || document.documentElement.scrollTop > 20) {
document.getElementById("myBtn").style.display = "block";
} else {
document.getElementById("myBtn").style.display = "none";
}
}
function topFunction() {
document.body.scrollTop = 0;
document.documentElement.scrollTop = 0;
}
Se la tolgo dall'index.php i font rimangono di dimensione uniforme.
Da desktop tutto in ordine, così come con il browser nativo di android (app "Browser").
Attaccato anche il cellulare al pc in debug remoto con chrome, l'unica cosa che cambia allo scroll è la classe del bottone, che passa da display:block a display:none e viceversa.
Non riesco a collegare lo script al cambiamento della dimensione dei font..qualcuno ha qualche idea?