html文档之间的多向滚动

时间:2011-05-05 21:40:22

标签: javascript jquery html scroll

我一直在使用jquery进行多方向滚动。我发现这是浏览网站的绝佳方式,但它有一个缺点。浏览器需要一次加载所有网站内容,因为它在一个html文档中。

现在我一直在寻找一种在不同的html文档之间进行这种精彩滚动的方法。因此,我不知道是否可以在html文档之间滚动,而不是在div之间滚动。这可能吗?

3 个答案:

答案 0 :(得分:3)

在正常意义上,客户端和服务器之间的请求/响应事务处理方式是不可能的 - 只有浏览器才能对此页面更改级别的更改进行动画处理。还有其他一些选择:

  1. 当您向一侧滚动时,使用JS将浏览器(带有一些哈希标记或信息查询字符串)重定向到下一页。加载下一页时,您应用一个动画,使其看起来像滚动到的那样。这有一个令人讨厌的缺点,即在页面转换之间有延迟。
  2. 使用AJAX,因此,滚动时,内容会异步加载到页面中。然后,一旦它加载,你不必担心它。这与Google或Bing在图像搜索中滚动图像时的操作类似。这样做的好处就是只能加载你需要的东西。
  3. 对于AJAX加载,jQuery的AJAX方法非常有用:http://api.jquery.com/jQuery.ajax/ 只需传入一个URL,您想要的任何信息和回调。在回调中,将响应数据加载到空div或任何位置。 像这个例子,从jQuery的网站获取:

        $.ajax({
      url: 'ajax/test.html',
      success: function(data) {
        $('.result').html(data);
        alert('Load was performed.');
      }
    });
    

答案 1 :(得分:1)

有两种方法可以实现这一目标。

  • 使用iframe。这显然不是最好的选择。
  • 第二个是让DIV中的所有链接都使用ajax并将内容加载到DIV中。基本上,修改所有链接实际上不会去任何地方,而是在页面上动态加载到相应的DIV中。

答案 2 :(得分:0)

是的,如果您将其他html页面预加载到div或iframe(例如)。