我试图这样做,当用户向下滚动页面,点击链接,做他们需要做的任何事情,然后回到带有链接的页面时,它们是相同的(xy )他们以前在浏览器中的位置。我该怎么做?
我是一个DOM新手所以我不太了解如何做到这一点。
目标浏览器:IE6 / 7/8,Firefox 2/3,Opera,Safari
补充:我正在使用一个名为JQuery的程序来帮助我学习
答案 0 :(得分:3)
要获取用户在页面上单击的位置的x-y位置,请使用以下jQuery代码:
<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
jQuery(document).ready(function(){
$("#special").click(function(e){
$('#status2').html(e.pageX +', '+ e.pageY);
});
});
</script>
</head>
<body>
<h2 id="status2">
0, 0
</h2>
<div style="width: 100px; height: 100px; background:#ccc;" id="special">
Click me anywhere!
</div>
</body>
</html>
答案 1 :(得分:0)
答案 2 :(得分:0)
据我所知,获取视口位置的代码在浏览器之间有所不同,因此使用某种框架会更容易,例如Prototype有一个函数document.viewport.getScrollOffsets(其中)我相信,是你追求的那个。)
然而,获取坐标只是一部分,另一部分将在以后与它们做一些事情。在这种情况下,您可以向window.unload事件添加事件侦听器,当该事件触发时,将该位置保存在cookie中,之后,当用户再次打开该页面时,检查该cookie是否存在并相应地滚动。
虽然如果您关心的是让用户回到他通过浏览器的“后退”按钮进入页面时的位置,那么大多数浏览器是否已经自动执行此操作?
答案 3 :(得分:0)
通常情况下,如果您离开然后返回,浏览器将保留页面视口(尝试使用您喜爱的新闻网站上的任何页面)。唯一的例外是,如果您调整缓存设置,每次都要重新下载并重新渲染页面。
不这样做(也就是说,不将页面设置为永远不会被缓存)可能是解决问题的最简单,最不突兀的方法。
答案 4 :(得分:-1)
你可以使用offsetLeft和offsetTop