JSFiddle - React, Tailwind, and code Playground
HTML
<input type="button" id="zoomin" value="zoom+"/>
<input type="button" id="zoomout" value="zoom-"/>
<div id="info"></div>
<div class="zoom">BlahBlah</div>
CSS
.zoom {
zoom: 1;
-moz-transform: scale(1);
-moz-transform-origin: 0 0;
-o-transform: scale(1);
-o-transform-origin: 0 0;
-webkit-transform: scale(1);
-webkit-transform-origin: 0 0;
transform: scale(1); /* Standard Property */
transform-origin: 0 0; /* Standard Property */
}
JavaScript
var strPropZoom = "zoom";
var blnPropZoomUseScale = false;
var currentZoom = 1.0;
$(function() {
var jqBody = $("body");
// Determine the supported 'zoom' method
switch (true) {
case Boolean(jqBody.css("zoom")) : break;
case Boolean(jqBody.css("-moz-transform")) : strPropNameZoom = "-moz-transform"; blnPropZoomUseScale = true; break;
case Boolean(jqBody.css("-o-transform")) : strPropNameZoom = "-o-transform"; blnPropZoomUseScale = true; break;
case Boolean(jqBody.css("-webkit-transform")) : strPropNameZoom = "-webkit-transform"; blnPropZoomUseScale = true; break;
}
$('#zoomin').click(function(){currentZoom+=0.5;setZoom(currentZoom)})
$('#zoomout').click(function(){currentZoom-=0.5;setZoom(currentZoom)})
function setZoom(intZoom){
$(".zoom")
.css(
strPropZoom
,(blnPropZoomUseScale ? "scale(" + intZoom + ")" : intZoom)
)
.addClass("zoom");
$('#info').html(intZoom);
}
})