1
我正在尝试使它在div容器中的一组元素始终存在于视口中。我尝试了几种不同的方法,但他们似乎有重新绘制问题。用滚动调整容器位置
问题:任何主要的优化,以提高性能和消除突出的视觉副作用?如果不是,那么还有其他方法吗?
第一种方法:
$(viewport).scroll(function()
{
m_grid.css({ 'marginTop': viewport.scrollTop() + 'px' });
})
这一个小小的引起震动效应是显而易见的用户。
第二种方法:
- 广场下方,上面的内容股利,缩小和扩大他们一点点基本的数学填补滚动容器的未使用空间。
这种方法的问题在于,它会导致内容边缘闪烁,很可能是由于不断调整大小。
第三种方法:
- 将直接在这里原来的滚动条会那么简单绑定滚动事件它,并将其转发到实际的容器模仿滚动行为股利。
问题在于,由于实际执行滚动的div是假的,鼠标滚轮将不可用,因为它在鼠标悬停在视口中的元素上时没有焦点。
有关改进或替代方法的任何想法?它必须以性能为中心。
支持IE7,FF,Chrome和Safari? –
这不会作为一个纯粹的CSS解决方案,因为我需要我的内容到视口内。在固定的位置上,我需要知道它需要在屏幕上的位置,我永远不能保证(我显然没有提到)。然而,如果我只是在渲染视口后使用javascript定位它,我认为这个想法可以工作。将返回给你 –
这工作得很好,除了在Chrome和Firefox浏览器不检测鼠标滚轮 –