📄 fscrollbarclass.as
字号:
#initclip 1/* FScrollBarClass EXTENDS FUIComponentClass */FScrollBarClass = function(){ if (this._height==4) { return ; } this.init(); this.minPos = this.maxPos = this.pageSize = this.largeScroll = 0; this.smallScroll = 1; this.autoHide = false; this.scroll_thumb_state = this.STATE_OUT; this.width = (this.horizontal) ? this._width : this._height; this._xscale = this._yscale = 100; this.setScrollPosition(0); this.tabEnabled = false; if ( this._targetInstanceName.length > 0 ) { this.setScrollTarget(this._parent[this._targetInstanceName]); } this.tabChildren = false; this.setSize(this.width);}FScrollBarClass.prototype = new FUIComponentClass();// ::: PUBLIC METHODSFScrollBarClass.prototype.setHorizontal = function(flag){ if (this.horizontal && !flag) { this._xscale = 100; this._rotation = 0; } else if (flag && !this.horizontal) { this._xscale = -100; this._rotation = -90; } this.horizontal = flag;}// updates the thumb, turns the bar on and offFScrollBarClass.prototype.setScrollProperties = function(pSize, mnPos, mxPos){ if (!this.enable) { return ; } this.pageSize = pSize; this.minPos = Math.max(mnPos, 0); this.maxPos = Math.max(mxPos,0); this.scrollPosition = Math.max(this.minPos, this.scrollPosition); this.scrollPosition = Math.min(this.maxPos, this.scrollPosition); if (this.maxPos-this.minPos<=0) { // turn it off //--old version-- //this.scrollThumb_mc.removeMovieClip(); //--old version-- this.scrollThumb_mc._visible = false; this.upArrow_mc.gotoAndStop(3); this.downArrow_mc.gotoAndStop(3); this.downArrow_mc.onPress = this.downArrow_mc.onRelease = this.downArrow_mc.onDragOut = null; this.upArrow_mc.onPress = this.upArrow_mc.onRelease = this.upArrow_mc.onDragOut = null; this.scrollTrack_mc.onPress = this.scrollTrack_mc.onRelease = null; this.scrollTrack_mc.onDragOut = this.scrollTrack_mc.onRollOut = null; this.scrollTrack_mc.useHandCursor = false; if(this.autoHide) { this.upArrow_mc._visible = false; this.downArrow_mc._visible = false; this.scrollTrack_mc._visible = false; } } else { // turn it on var tmp = this.getScrollPosition(); this.upArrow_mc.gotoAndStop(1); this.downArrow_mc.gotoAndStop(1); this.upArrow_mc.onPress = this.upArrow_mc.onDragOver = this.startUpScroller; this.upArrow_mc.onRelease = this.upArrow_mc.onDragOut = this.stopScrolling; this.upArrow_mc.onRollOver = this.startRollOverUpArrow; this.upArrow_mc.onRollOut = this.startRollOutUpArrow; this.downArrow_mc.onPress = this.downArrow_mc.onDragOver = this.startDownScroller; this.downArrow_mc.onRelease = this.downArrow_mc.onDragOut = this.stopScrolling; this.downArrow_mc.onRollOver = this.startRollOverDownArrow; this.downArrow_mc.onRollOut = this.startRollOutDownArrow; //------------------------------------------------------------------------------------------------// this.scrollTrack_mc.gotoAndStop(this.getSkinFrame()); //------------------------------------------------------------------------------------------------// this.scrollTrack_mc.onPress = this.scrollTrack_mc.onDragOver = this.startTrackScroller; this.scrollTrack_mc.onRelease = this.stopScrolling; this.scrollTrack_mc.onDragOut = this.stopScrolling; this.scrollTrack_mc.onRollOut = this.stopScrolling; this.scrollTrack_mc.useHandCursor = false; if(this.scrollThumb_mc == undefined) this.attachMovie("ScrollThumb", "scrollThumb_mc", 3); else this.scrollThumb_mc._visible = true; //------------------------------------------------------------------------------------------------// if(this.scrollThumb_mc._currentframe != this.getSkinFrame()) { this.scrollThumb_mc.gotoAndStop(this.getSkinFrame()); this.scrollThumb_mc.clear(); } //------------------------------------------------------------------------------------------------// var thumb_x = 0; if(this.getSkinFrame() == 3) thumb_x = (this.upArrow_mc._height - this.scrollThumb_mc.mc_sliderMid._width) / 2 + 0.5; this.scrollThumb_mc._x = thumb_x; this.scrollThumb_mc._y = this.upArrow_mc._height; this.scrollThumb_mc.onPress = this.startDragThumb; this.scrollThumb_mc.controller = this; this.scrollThumb_mc.onRelease = this.scrollThumb_mc.onReleaseOutside = this.stopDragThumb; this.scrollThumb_mc.onRollOver = this.startRollOverThumb; this.scrollThumb_mc.onRollOut = this.startRollOutThumb; this.scrollThumb_mc.useHandCursor=false; this.thumbHeight = this.pageSize / (this.maxPos-this.minPos+this.pageSize) * this.trackSize; this.thumbMid_mc = this.scrollThumb_mc.mc_sliderMid; this.thumbTop_mc = this.scrollThumb_mc.mc_sliderTop; this.thumbBot_mc = this.scrollThumb_mc.mc_sliderBot; //the smallest a thumb should be if(this.getSkinFrame() == 3) this.thumbHeight = Math.max (this.thumbHeight, 10); else this.thumbHeight = Math.max (this.thumbHeight, 6); this.midHeight = this.thumbHeight - this.thumbTop_mc._height - this.thumbBot_mc._height; if(this.midHeight < 0) this.midHeight = 0; //--old version-- //this.thumbMid_mc._yscale = this.midHeight * 100 / this.thumbMid_mc._height; //--old version-- this.thumbMid_mc._height = this.midHeight; this.thumbMid_mc._y = this.thumbTop_mc._height; this.thumbBot_mc._y = this.thumbTop_mc._height + this.midHeight; this.thumbFrameMid_mc = this.scrollThumb_mc.mc_frameMid; this.thumbFrameMid_mc._x = this.thumbMid_mc._x + (this.thumbMid_mc._width - this.thumbFrameMid_mc._width)/2; this.thumbFrameMid_mc._y = this.thumbMid_mc._y + (this.thumbMid_mc._height - this.thumbFrameMid_mc._height)/2; this.scrollTop = this.scrollThumb_mc._y; this.trackHeight = this.trackSize - this.thumbHeight; this.scrollBot = this.trackHeight + this.scrollTop; tmp = Math.min(tmp, this.maxPos); this.setScrollPosition(Math.max(tmp, this.minPos)); if(this.autoHide) { this.upArrow_mc._visible = true; this.downArrow_mc._visible = true; this.scrollTrack_mc._visible = true; } } //------------------------------------------------------------------------------------------------// this.drawFrame(true); //------------------------------------------------------------------------------------------------//}FScrollBarClass.prototype.getScrollPosition = function (){ return this.scrollPosition;}FScrollBarClass.prototype.setScrollPosition = function(pos){ this.scrollPosition = pos; if (this.scrollThumb_mc != undefined) { pos = Math.min(pos, this.maxPos); pos = Math.max(pos, this.minPos); } this.scrollThumb_mc._y = ((pos-this.minPos) * this.trackHeight / (this.maxPos-this.minPos)) + this.scrollTop; this.executeCallBack();}FScrollBarClass.prototype.setLargeScroll = function(lScroll){ this.largeScroll = lScroll; }FScrollBarClass.prototype.setSmallScroll = function(sScroll){ this.smallScroll = sScroll; }FScrollBarClass.prototype.setEnabled = function(enabledFlag){ var wasEnabled = this.enable; if (enabledFlag && !wasEnabled) { this.enable = enabledFlag; if (this.textField!=undefined) { this.setScrollTarget(this.textField); } else { this.setScrollProperties(this.pageSize, this.cachedMinPos, this.cachedMaxPos); this.setScrollPosition(this.cachedPos); } this.clickFilter = undefined; this.drawScrollThumb(this.STATE_OUT); } else if (!enabledFlag && wasEnabled) { this.textField.removeListener(this); this.cachedPos = this.getScrollPosition(); this.cachedMinPos = this.minPos; this.cachedMaxPos = this.maxPos; if (this.clickFilter==undefined) { this.setScrollProperties(this.pageSize,0,0); } else { this.clickFilter=true; } this.enable = enabledFlag; this.drawScrollThumb(this.STATE_DISABLED); }}// stretches the track, creates + positions arrowsFScrollBarClass.prototype.setSize = function(hgt){ if (this._height == 1) return; this.width = hgt; if(this.getSkinFrame() != 4 && this.getSkinFrame() != 2) { this.scrollTrack_mc._yscale = 100; this.scrollTrack_mc._yscale = 100 * this.width / this.scrollTrack_mc._height; } else this.scrollTrack_mc._yscale = 100; if (this.upArrow_mc == undefined) { this.attachMovie("UpArrow", "upArrow_mc", 1); //1 is arbitrary this.attachMovie("DownArrow", "downArrow_mc", 2); //2 is arbitrary this.downArrow_mc.controller = this.upArrow_mc.controller = this; this.upArrow_mc.useHandCursor = this.downArrow_mc.useHandCursor = false; this.upArrow_mc._x = this.upArrow_mc._y = 0; this.downArrow_mc._x = 0; this._arrow_width = this.upArrow_mc._width; this._arrow_height = this.upArrow_mc._height; } this.scrollTrack_mc.controller = this; this.downArrow_mc._y = this.width - this.downArrow_mc._height; this.trackSize = this.width - (2 * this.downArrow_mc._height); if (this.textField!=undefined) { this.onTextChanged(); } else { this.setScrollProperties(this.pageSize, this.minPos, this.maxPos); }}FScrollBarClass.prototype.drawSkin = function(){ this.drawFrame(true);}FScrollBarClass.prototype.drawFrame = function(nForce){ var curr_frame = this.getSkinFrame(); this.scrollTrack_mc.gotoAndStop(curr_frame); var down_obj = null; switch(this.downArrow_mc._currentframe) { case 1 : down_obj = this.downArrow_mc.up; break; case 2 : down_obj = this.downArrow_mc.down; break; case 3 : down_obj = this.downArrow_mc.disabled; break; } down_obj.gotoAndStop(curr_frame); down_obj.clear(); var up_obj = null; switch(this.upArrow_mc._currentframe) { case 1 : up_obj = this.upArrow_mc.up; break; case 2 : up_obj = this.upArrow_mc.down; break; case 3 : up_obj = this.upArrow_mc.disabled; break; } up_obj.gotoAndStop(curr_frame); up_obj.clear(); this._prev_frame = curr_frame; if(nForce) { this.scrollTrack_mc.clear(); } var data = {pLink : this, dir : 'vert'};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -