HTML 右边菜单栏如何在一定范围内滚动,求js部分代码优化。

###代码内容在这个链接里:http://jsrun.net/iKvKp/edit

###可打开看效果的链接:http://jsrun.net/user/explorer/

###中间内容部分有单独设定区域,在HTML里面是article区域,右侧菜单栏在这个区域跟随鼠标滚动,不会进入上方的banner和下方的footer区域,已经设定在article范围内滚动了,但是想要达成的效果是菜单栏从banner下面开始,随着article范围的滚动然后固定在中间,等到快到footer了才慢慢上移,但是不会进入footer区域,我写出来效果太差,菜单栏没达成想要的效果,大佬们麻烦看下如何优化?

你可以把上面的banner和下面的footer高度固定,让右侧菜单栏在中间区域定位垂直居中显示。