Flex每个Scroller都有一个mouseWheelChanging方法,当滚动鼠标中轮的时候会调用,而后就可以在这个函数中进行判断,如下:
假设我的滚动条id = mainScroller
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| protected function mainScroller _mouseWheelChangingHandler(event:FlexMouseEvent):void { event.preventDefault(); var modifier:int = 5; var delta:Number = Number(event.delta) * modifier; var viewport:IViewport = mainScroller.verticalScrollBar.viewport; var vPos:Number = viewport.verticalScrollPosition; var maximum:Number = mainScroller.verticalScrollBar.maximum; if (delta < 0) { mainScroller.verticalScrollBar.viewport.verticalScrollPosition = Math.min(vPos - delta, maximum) ; } else { mainScroller.verticalScrollBar.viewport.verticalScrollPosition = Math.max(vPos - delta, 0); } }
|