我有一堆“页面”,我试图在鼠标滚轮上移动,这样顶部的移动比它下面的移动多,等等。它们是position: absolute
,目前我正在调整 CSStop
以移动它们,但它非常缓慢和笨拙。
编辑:取下演示,问题解决。
相关代码:
window.onScroll = (e, delta) ->
e.preventDefault()
minHeight = 5
maxHeight = 800
top_scale = 50
second_scale = 5
third_scale = 1
stack = $('.card_stack').first().children()
top = $(stack[stack.length - 1])
second = $(stack[stack.length - 2])
third = $(stack[stack.length - 3])
for pair in [[top, top_scale], [second, second_scale], [third, third_scale]]
pair[0].css('top', parseInt(pair[0].css('top'), 10) + delta*pair[1] + 'px')
$(window).mousewheel(window.onScroll) # jQuery mousewheel plugin
我尝试在 Chrome 的 Frames 选项卡中查看这个,以找出什么是这么慢,并得到了这个:https ://dl.dropbox.com/u/407870/static/Screen%20Shot%202012-11-20%20at% 201.44.33%20PM.png
看起来并没有发生太多事情,但也许我错过了一些东西。与我遇到的 Frames 问题有关的先前未回答的问题:Web 检查器使用“Frames”进行分析:当时间轴中没有任何内容时找到性能问题的原因
我知道在发布任何类型的版本(例如,我正在编译 Less 和 Coffeescript in-page)之前还有很多其他的事情需要清理,但滚动是我目前关心的问题,因为它是我前提的核心。
我怎样才能最好地加快速度?