- case XUI_Event.SCROLL_END :\r
- scrollBox = this.parentData;\r
- scrollY = - scrollBox.scrollY;\r
- dataSource = this[ 'dataSource' ];\r
- itemNodes = this.itemNodes;\r
- itemH = this.itemHeightLast;\r
- \r
- // transition Y を 0 付近に。\r
- \r
- \r
- // startIndex の計算\r
- startIndex = scrollY / itemH | 0;\r
- \r
- /*maxIndex = dataSource.length <= this.numItems ? 0 : dataSource.length - this.numItems;\r
- console.log( ' >>> ' + startIndex + ' ' + maxIndex );\r
- \r
- startIndex =\r
- startIndex < 0 ? 0 :\r
- maxIndex < startIndex ? maxIndex : startIndex; */\r
- // アイテムの座標の修正とレンジ外のアイテムを配列内で再配置\r
- offset = startIndex - this.startIndex; // visible な stratIndex renderStartIndex\r
- this.startIndex = startIndex;\r
- \r
- console.log( this.numItemsPrev + ' oo ' + offset )\r
- \r
- if( 0 < offset ){\r
- itemNodes.push.apply( itemNodes, itemNodes.splice( 0, offset ) );\r
- } else\r
- if( offset < - 0 ){\r
- itemNodes.unshift.apply( itemNodes, itemNodes.splice( itemNodes.length + offset ) );\r
- };\r
-\r
- // 再配置されたアイテムにitemData のセット\r
- this.updateItemRenderer( this.contentWidth, this.scrollPortHeight );\r
- \r
- \r
- \r
- offsetY = scrollY % itemH;\r
- offsetY = offsetY === 0 ? 0 : ( offsetY - itemH );\r
- offsetY += ( this.startRenderIndex - this.startIndex ) * itemH;\r
- //console.log( ' ====> ' + this.startRenderIndex + ' -> ' + this.startIndex + ' scrollY:' + offsetY );\r