cr33mers
%Europe/Berlin %904 %2008, 22:42
Hoi
Ik heb deze tutorial gebruikt:
link (http://www.kirupa.com/developer/flash8/scrollbar.htm)
Nu heb ik het toegepast op mijn eigen site, maar tot mijn verbazing scrollt de scroller niet ver genoeg. Redelijk vervelend aangezien in het voorbeeld de tekst langer is dan mijn tekst eigenlijk is.
De Code is de volgende:
scrolling = function () {
var scrollHeight:Number = scrollbg._height;
var contentHeight:Number = contentMain._height;
var draggerHeight:Number = dragger._height;
var maskHeight:Number = maskedView._height;
//
var initPosition:Number = dragger._y=scrollbg._y; var initContentPos:Number = contentMain._y;
var finalContentPos:Number = maskHeight-contentHeight+initContentPos;
//
var left:Number = scrollbg._x;
var top:Number = scrollbg._y;
var right:Number = scrollbg._x;
var bottom:Number = scrollbg._height-draggerHeight+scrollbg._y;
//
var dy:Number = 0;
var speed:Number = 10;
var moveVal:Number = (contentHeight-maskHeight)/(scrollHeight-draggerHeight);
//
dragger.onPress = function() {
var currPos:Number = this._y;
startDrag(this, false, left, top, right, bottom);
this.onMouseMove = function() {
dy = Math.abs(initPosition-this._y);
contentMain._y = Math.round(dy*-1*moveVal+initContentPos);
};
};
dragger.onMouseUp = function() {
stopDrag();
delete this.onMouseMove;
};
btnUp.onPress = function() {
this.onEnterFrame = function() {
if (contentMain._y + speed < maskedView._y) {
trace(dragger._y + " " + top);
if (dragger._y <= top) {
dragger._y = top;
contentMain._y += speed;
} else {
contentMain._y += speed;
dragger._y -= speed / moveVal;
}
} else {
dragger._y = top;
contentMain._y = maskedView._y;
delete this.onEnterFrame;
}
};
};
btnUp.onDragOut = function() {
delete this.onEnterFrame;
};
btnUp.onMouseOut = function() {
delete this.onEnterFrame;
};
btnDown.onPress = function() {
this.onEnterFrame = function() {
if (contentMain._y - speed >finalContentPos) {
if (dragger._y>=bottom) {
contentMain._y -= speed;
dragger._y = bottom;
} else {
contentMain._y -= speed;
dragger._y += speed/moveVal;
}
} else {
dragger._y = bottom;
contentMain._y = finalContentPos;
delete this.onEnterFrame;
}
};
};
btnDown.onRelease = function() {
delete this.onEnterFrame;
};
btnDown.onDragOut = function() {
delete this.onEnterFrame;
};
};
scrolling();
Ik heb deze tutorial gebruikt:
link (http://www.kirupa.com/developer/flash8/scrollbar.htm)
Nu heb ik het toegepast op mijn eigen site, maar tot mijn verbazing scrollt de scroller niet ver genoeg. Redelijk vervelend aangezien in het voorbeeld de tekst langer is dan mijn tekst eigenlijk is.
De Code is de volgende:
scrolling = function () {
var scrollHeight:Number = scrollbg._height;
var contentHeight:Number = contentMain._height;
var draggerHeight:Number = dragger._height;
var maskHeight:Number = maskedView._height;
//
var initPosition:Number = dragger._y=scrollbg._y; var initContentPos:Number = contentMain._y;
var finalContentPos:Number = maskHeight-contentHeight+initContentPos;
//
var left:Number = scrollbg._x;
var top:Number = scrollbg._y;
var right:Number = scrollbg._x;
var bottom:Number = scrollbg._height-draggerHeight+scrollbg._y;
//
var dy:Number = 0;
var speed:Number = 10;
var moveVal:Number = (contentHeight-maskHeight)/(scrollHeight-draggerHeight);
//
dragger.onPress = function() {
var currPos:Number = this._y;
startDrag(this, false, left, top, right, bottom);
this.onMouseMove = function() {
dy = Math.abs(initPosition-this._y);
contentMain._y = Math.round(dy*-1*moveVal+initContentPos);
};
};
dragger.onMouseUp = function() {
stopDrag();
delete this.onMouseMove;
};
btnUp.onPress = function() {
this.onEnterFrame = function() {
if (contentMain._y + speed < maskedView._y) {
trace(dragger._y + " " + top);
if (dragger._y <= top) {
dragger._y = top;
contentMain._y += speed;
} else {
contentMain._y += speed;
dragger._y -= speed / moveVal;
}
} else {
dragger._y = top;
contentMain._y = maskedView._y;
delete this.onEnterFrame;
}
};
};
btnUp.onDragOut = function() {
delete this.onEnterFrame;
};
btnUp.onMouseOut = function() {
delete this.onEnterFrame;
};
btnDown.onPress = function() {
this.onEnterFrame = function() {
if (contentMain._y - speed >finalContentPos) {
if (dragger._y>=bottom) {
contentMain._y -= speed;
dragger._y = bottom;
} else {
contentMain._y -= speed;
dragger._y += speed/moveVal;
}
} else {
dragger._y = bottom;
contentMain._y = finalContentPos;
delete this.onEnterFrame;
}
};
};
btnDown.onRelease = function() {
delete this.onEnterFrame;
};
btnDown.onDragOut = function() {
delete this.onEnterFrame;
};
};
scrolling();