我正在HTML5
为iOS
. 看完这篇文章后,我想通过保留一些 HTML 节点DOM
而不是保留它们来做一些性能优化viewport
。
出于演示目的,我一直在使用以下代码(我的实际工作场景会有更多<div>
)
<!DOCTYPE HTML>
<html>
<head>
<script>
function func(){
var div1 = document.getElementById('div1');
var div2 = document.getElementById('div2');
div1.style.cssFloat = "";
div1.style.visibility = "hidden";
div1.style.left = "-100%";
div2.style.left = "100%";
div2.style.visibility = "";
div2.style.cssFloat = "left";
}
function func1(){
var div1 = document.getElementById('div1');
var div2 = document.getElementById('div2');
div2.style.cssFloat = "";
div2.style.visibility = "hidden";
div2.style.left = "-100%";
div1.style.left = "100%";
div1.style.visibility = "";
div1.style.cssFloat = "left";
}
</script>
</head>
<body style="position:absolute;height: 100%;width:100%;margin:0px;padding:0px;">
<div onclick="func();" id="div1" style="background-color:blue;height:100%;width:100%;top:0;left:100%;display: inline;float:left;margin: 0px;padding: 0px">
</div>
<div onclick="func1();" id="div2" style="background-color:green;height:100%;width:100%;top:0;left:-100%;visibility:hidden;display: inline;margin: 0px;padding: 0px;">
</div>
</body>
</html>
我的问题是,每当我想在其中显示<div>
并viewport
隐藏所有其他内容<div>
时,我必须进行前者div's float:left
以及明显的调整left(css)
如果我把float:left
所有的<div>
,逻辑不起作用,我无法显示具体<div>
哪个我想在viewport
. 我也不确定如何visibility:hidden
帮助优化性能。我的猜测是,浏览器不会重新绘制DOM
设置visibility(css)
为hidden
. 这是性能更好的原因吗?