2010-01-15 39 views
0

我有一个简单的3列网站 - 左,中,右。中间栏是主要内容的内容,通常比左侧或右侧内容长。有滚动时修复内容的Jquery插件吗?

在写一个之前,有没有一个JQuery插件可以在用户滚动窗口时保持我的左右列内容在视图中?即当它们滚动时,它们坚持到屏幕顶部以下10px,因此它们始终处于视野中。但是当用户向上滚动时,他们坐在适当的地方。

一个例子页面是在这里: http://www.flowmtb.com/morzine/

显然,如果浏览器窗口比左或右的内容更短,他们应该不动,否则用户将永远不会看到什么是淡出人们的视线!

干杯, 盖伊

回答

2

你不需要jQuery的这一点。在CSS中查看position: fixed。 但是你可以使用jQuery来检测浏览器窗口的大小,所以你可以设置position:absolute;如果它太小。我做了一个example page。重要的代码是这样的:

function colfix(column) { 
    if($(window).height() + 20 < $(column).height()) { 
    $(column).css("position", "absolute"); 
    }else{ 
    $(column).css("position", "fixed"); 
    } 
} 

$(document).ready(function() { 
    colfix("#two"); 
}) 

$(window).resize(function() { 
    colfix("#two"); 
}); 
+0

+1是什么,以及这里的黑客攻击,使其对IE6的工作:http://www.howtocreate.co.uk/fixedPosition.html(本书虽然是作者所说的那个“计数器生产') – 2010-01-15 11:02:42

+0

我想我正在寻找一个插件来完成这项艰苦的工作 - 它应该滚动,使它很好地滚动(动画)等等等等。我可以写点东西来工作,但不想重新发明车轮! – 2010-01-15 11:08:34

+1

就我个人而言,我认为那些“很好的滚动”元素只是令人恼火,因为他们从页面上的重要内容窃取焦点。 – 2010-01-15 11:14:22