【发布时间】:2010-12-10 19:47:22
【问题描述】:
http://api.jquery.com/animate/
在此页面上,他们提供了一个演示,其中通过单击按钮使灰色 div 在屏幕上移动。
请注意,如果您单击右键足够多次并且 DIV 块到达容器的末尾,它会创建水平和垂直滚动条。
我下载并修改了代码以摆脱溢出属性,而我目前所拥有的在桌面浏览器中运行良好。
不过,iPhone 上的 Safari 处理事情的方式略有不同。出于某种原因,Safari 完全忽略了溢出属性,而是展开浏览器窗口以显示块移动到的位置。
我不想让你看到这个方块。我希望它隐藏起来,直到你再次按下按钮。
有人知道这是怎么回事吗?
这是问题的图片:
这是我的代码:
div {
position:absolute;
background-color:#abc;
width:100%;
height:100%;
margin:0px;
max-width:100%;
}
body {
margin:0px;
padding:0px;
}
* {
overflow:hidden;
clip:rect(auto, auto, auto, auto);
}
</style>
<script src="http://code.jquery.com/jquery-1.4.4.js"></script>
</head>
<body>
<button id="left">«</button> <button id="right">»</button>
<div class="block"></div>
<script>
$("#right").click(function(){
$(".block").animate({"left": "+=110%"}, "medium");
});
$("#left").click(function(){
$(".block").animate({"left": "-=110%"}, "medium");
});
</script>
即使我已将 DIV 块移出屏幕并且将溢出:隐藏作为全局样式,iPhone 仍会在浏览器窗口中为它腾出空间,以显示 DIV 已移动到的位置。烦人!
提前谢谢你!
【问题讨论】:
标签: iphone jquery html scroll jquery-animate