在我的 asp.net 应用程序中,我有一个带有标题的页面,然后在页面的正文中显示人们可以选择的项目。当有人选择一个项目时,一个 iframe 会出现在正文的右侧,并显示有关所选项目的详细信息。iframe 大小和位置是使用屏幕大小设置的。在所有桌面浏览器中 - 我可以使用下面的 javascript 来解决这个问题。
<script type="text/javascript">
window.onscroll = scroll;
</script>
这是javascript函数滚动
function scroll() {
var divT = document.getElementById('searchframe');
var divD = document.getElementById('detailframe');
if (document.body.scrollTop > 80) {
divT.style.top = document.body.scrollTop
divD.style.top = document.body.scrollTop
document.getElementById('detailframe').height = '100%';
}
if (document.body.scrollTop == 0) {
divT.style.top = 75
divD.style.top = 75
}
}
使用http://code.google.com/p/ibbdemo2/ - 一个 adobe air ipad 模拟器进行测试时,甚至没有调用滚动功能 。我可以通过放置警报来判断这一点,警报会在所有其他浏览器上弹出,甚至在这个模拟器中,除了滚动功能。在其他浏览器中,在 window.onclick 行放置警报会显示警报,但在 safari mobile 上不会显示警报 - 这意味着 window.onscroll 事件似乎甚至没有被触发。谢谢您的帮助。
编辑 - 我还可以在所有浏览器中使用以下任何行来捕获滚动事件,除了移动 safari
window.onscroll = scroll;
document.onscroll = scroll;
document.addEventListener("scroll", scroll, false);