4

我正在努力做到这一点,因此当用户向下滚动页面,单击链接,做他们需要做的任何事情,然后返回带有链接的页面时,它们位于相同的(xy)位置他们以前的浏览器。我怎么做?

我是 DOM 新手,所以我不太了解如何执行此操作。

目标浏览器:IE6/7/8、Firefox 2/3、Opera、Safari

补充:我正在使用一个叫JQuery的程序来帮助我学习

4

5 回答 5

3

要获取用户单击页面的 xy 位置,请使用以下 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>
于 2008-09-24T15:51:08.893 回答
0

通常,如果您离开然后返回,浏览器将保留页面视口(在您最喜欢的新闻网站上的任何页面上尝试)。唯一的例外可能是您调整缓存设置以每次重新下载和重新呈现页面。

不这样做(也就是说,不将您的页面设置为从不缓存)可能是解决问题的最简单、最不突兀的方法。

于 2008-09-16T02:00:45.783 回答
0

试试这个这个

于 2008-09-15T22:47:05.407 回答
0

据我回忆,获取视口位置的代码因浏览器而异,因此使用某种框架会更容易,例如,Prototype有一个函数 document.viewport.getScrollOffsets (我相信它就是你追求)。

但是,获取坐标只是其中的一部分,另一部分将在以后对它们进行处理。在这种情况下,您可以将事件侦听器添加到 window.unload 事件,当该事件触发时,将位置保存在 cookie 中,然后当用户再次打开页面时,检查该 cookie 是否存在并相应地滚动。

尽管如果您关心的只是让用户通过浏览器的“后退”按钮返回到他所在的位置,那么大多数浏览器不是已经自动执行此操作了吗?

于 2008-09-15T22:50:32.170 回答
-1

你可以使用 offsetLeft 和 offsetTop

于 2008-09-15T22:41:57.587 回答