J'essaie de fournir une fonction sur une page HTML avec laquelle je peux zoomer et sortir du texte.
J'ai déjà essayé avec tous les navigateurs disponibles. Voici mon code: p>
p>
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
#zoomtext
{
transform: scale(1);
transition: transform 0.2s ease-in-out;
}
</style>
<script>
window.addEventListener("load", function()
{
var zoom = 1;
var zoomStep = 0.2;
});
document.getElementById("zoomIn").addEventListener("click",function(){zoom += zoomStep; document.getElementById("zoomtext").style.transform = "scale("+zoom+")";});
document.getElementById("zoomOut").addEventListener("click",function(){if(zoom > zoomStep){zoom -= zoomStep; document.getElementById("zoomtext").style.transform = "scale("+zoom+")";}});
</script>
</head>
<body>
<button id="zoomOut">-</button>
<button id="zoomIn">+</button>
<article>
<section id="zoomtext">
<p>This is a text that I want to be able to zoom in and out by means of the two buttons indicating plus and minus.</p>
</section>
</article>
</body>
</html>3 Réponses :
script code> à la fin de corps code> li>
- Attribuer
zoom, zoomstep code> variables en dehors de l'événement Callback Li>
p>
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
#zoomtext {
transform: scale(1);
transition: transform 0.2s ease-in-out;
}
</style>
</head>
<body>
<button id="zoomOut">-</button>
<button id="zoomIn">+</button>
<article>
<section id="zoomtext">
<p>This is a text that I want to be able to zoom in and out by means of the two buttons indicating plus and minus.</p>
</section>
</article>
<script>
var zoom = 1;
var zoomStep = 0.2;
document.getElementById("zoomIn").addEventListener("click", function() {
zoom += zoomStep;
document.getElementById("zoomtext").style.transform = "scale(" + zoom + ")";
});
document.getElementById("zoomOut").addEventListener("click", function() {
if (zoom > zoomStep) {
zoom -= zoomStep;
document.getElementById("zoomtext").style.transform = "scale(" + zoom + ")";
}
});
</script>
</body>
</html> Le problème avec votre code est que Voir un code de travail ici: https://codepen.io/marc -Simplon / stylo / vqywyq? Éditeurs = 1010 P> zoom code> et zoomstep code> ne sont jamais évalués. Le premier écouteur d'événement vient de créer une fonction, mais le code à l'intérieur de celui-ci n'est jamais exécuté. P>
Si vous devez régler le zoom de la fenêtre entière, cela pourrait ne pas être possible sans plug-in externe (voir Modification du niveau de navigateur Zoom )
Si vous souhaitez définir le zoom pour spécifiquement l'élément #ZOOMTEXT, vous pouvez utiliser l'attribut" ZOOM "CSS ( https://developer.mozilla.org/en-us/docs/web/css/zoom ), mais ce n'est pas standard. Une autre façon de gérer cela serait d'augmenter ou de diminuer l'attribut CSS de la taille de la police sur l'élément #ZOOMTEXT: P>
document.getElementById("zoomtext").style.fontSize = '12px'
Vous devez soit exécuter le script sur le document prêt à l'emploi, soit après avoir ajouté le code HTML à la page - au moment où les boutons n'existent pas lorsque vous faites votre getElementbyID car vous utilisez simplement le script de l'en-tête.