Javascript闭包
<script>
window.onload=function () {
commFunc();
}
window.onresize=function () {
commFunc();
}
function getWidth() {
var pageWidth = window.innerWidth,
pageHeight = window.innerHeight;
if (typeof pageWidth != "number") {
if (document.compatMode == "CSS1Compat") {
pageWidth = document.documentElement.clientWidth;
pageHeight = document.documentElement.clientHeight;
} else {
pageWidth = document.body.clientWidth;
pageHeight = document.body.clientHeight;
}
}
return function changeWidth() {
return pageWidth;
}
}
function commFunc() {
var fun=getWidth();
var wrap=document.getElementsByTagName('article');
var scale=fun()/320;
var scaleHeight=fun()/320*1227;
wrap[0].style.cssText='transform-origin:center 0px 0px;transform: scale('+scale+');height:'+scaleHeight+'px';
}
</script>
这段代码里面首先看看getWidth()函数:
- 获得页面的宽和高;
- 定义一个返回函数,返回他的高度;
- 这个是为了方便后面的调用,这也就是闭包,内部调用。
再来分析commFunc()函数:
- 调用上面的getWidth()函数;
- 通过fun()来调用内部的changeWidth(),得到屏幕宽度。
参考资料:http://my.tv.sohu.com/us/240760748/84938525.shtml
e on 回复 有用(0)
e