<script type="text/javascript">
window.onload = widthFunction();
window.onresize = function widthFunction(){
var viewportWidth;
var fouronefour;
rotdiv = document.getElementById("rotationdiv");
viewportWidth = window.innerWidth;
fouronefour = 414;
if(parseInt(viewportWidth) < parseInt(fouronefour))
{rotdiv.style = "visibility:visible;";}
}
</script>
<body>
<div id="rotationdiv" style="visibility:collapse;">If you would like to see more columns, click <a href="WiderPage.aspx">here</a>.</div>
</body>
我知道window.onload = widthFunction();
有问题。我基本上希望这个函数做的是“在加载和调整大小时,检查屏幕尺寸。如果屏幕尺寸超过 414px,则显示 div 要求客户端转到更宽的页面。”
这是一个带有许多边界字段的 GridView 。我想我会尝试这个,因为我正在将我的网站缩小到移动浏览器
最佳答案
去掉第一行中的括号。
window.onload = widthFunction;
实际上,它将 widthFunction 的返回设置为 onload 事件 - 这是未定义的。
编辑:
实际上,如果你的浏览器正确实现了 JS(就像你不在 IE 中一样),我相信这仍然行不通 - 名称 widthFunction
不会在函数本身之外定义。您必须首先在外部定义 widthFunction,使用
function widthFunction() {
...
}
或
var widthFunction = function() {
...
}
另外,为什么要将 414 设置为一个奇怪命名的变量,然后对其进行解析?由于您已经在使用数字类型,因此您的 parseInt 没有执行任何操作。另外,如果您要将 414 放入变量中,您不妨给它一个更有意义的名称。 “fouronefour”无助于摆脱魔法常量。
关于javascript - 设置 window.onload 和 window.onresize 时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6864024/