haas
%Europe/Berlin %025 %2008, 01:36
Ik ben bezig met lijst die dynamisch wordt ingeladen via XML, er zijn een drietal waardes en de het geeft daarnaast ook een klikbare link weer.
Nu wil ik het zo dat als er meerdere entries komen, de lijst te scrollen is maar op de één of andere manier wil dat me niet lukken. Ik krijg de lijst niet scrollend..
Dit is de code die ik in totaal gebruik, ziet iemand waar dit de mist ingaat?
holder_mc.setMask(mask_mc);
xmlData = new XML();
xmlData.ignoreWhite = true;
xmlData.onLoad = function(succes) {
if (succes) {
var xmlContent = this.firstChild;
menuContent = new Array();
for (var i = 0; i<this.firstChild.childNodes.length; i++) {
nextEntry = xmlContent.childNodes[i];
menuContent[i] = [nextEntry.attributes.name, nextEntry.attributes.value, nextEntry.attributes.rating];
}
//trace(menuContent);
menuLength = menuContent.length;
elementspacer = 1;
var menuItem, yPosition = 0;
createEmptyMovieClip("dataContainer", 1);
dataContainer._y = 60;
dataContainer._x = 305;
for (var i = 0; i<menuLength; i++) {
nav_mc.attachMovie("element", "menuItem"+i, i);
thisClip = nav_mc["menuItem"+i];
thisClip.menuname = menuContent[i][0];
thisClip.destination = menuContent[i][1];
thisClip.menurating = menuContent[i][2];
thisClip._y = yPosition;
yPosition += Math.floor(thisClip._height+elementspacer);
}
} else {
trace("Kon niet laden");
}
};
xmlData.load("menu.xml");
preloader_mc._visible = false;
var btn_spacing = 20;
var thumb_y = 300;
cap_mc._alpha = 0;
var btnArray = new Array();
function DisplayNumbers() {
var one = xmlData.firstChild.childNodes;
for (var i = 0; i<one.length; i++) {
var two = one[i];
var Btn = nav_mc.holder_mc.attachMovie("btn_mc", "btn_mc"+i, i+1);
Btn._x = btn_spacing;
Btn._y = btn_spacing*i;
Btn.id = two.attributes.name;
Btn.txt_txt.text = Btn.id;
Btn.onRollOver = Btn.onPress=function () {
this.txt_txt.textColor = 0xff0000;
};
Btn.onRollOut = function() {
this.txt_txt.textColor = 0x000000;
};
Nav();
}
}
function Nav() {
var speed = 5.2;
var targY = 0;
var dragger = nav_mc.dragger_mc;
var holder = nav_mc.holder_mc;
var mask = nav_mc.mask_mc;
dragger._x = mask._width+30;
dragger._y = 0;
dragger._yscale = (holder._height/mask._height)*40;
dragger.onPress = function() {
startDrag(this, false, this._x, 0, this._x, mask._height-this._height);
};
dragger.onRelease = dragger.onReleaseOutside=function () {
stopDrag();
};
holder.onEnterFrame = function() {
scroll = (this._height-(mask._height/1.2))/(mask._height-dragger._height);
targY = -dragger._y*scroll;
this._y -= (this._y-targY)/speed;
};
holder.setMask(mask);
}
Nu wil ik het zo dat als er meerdere entries komen, de lijst te scrollen is maar op de één of andere manier wil dat me niet lukken. Ik krijg de lijst niet scrollend..
Dit is de code die ik in totaal gebruik, ziet iemand waar dit de mist ingaat?
holder_mc.setMask(mask_mc);
xmlData = new XML();
xmlData.ignoreWhite = true;
xmlData.onLoad = function(succes) {
if (succes) {
var xmlContent = this.firstChild;
menuContent = new Array();
for (var i = 0; i<this.firstChild.childNodes.length; i++) {
nextEntry = xmlContent.childNodes[i];
menuContent[i] = [nextEntry.attributes.name, nextEntry.attributes.value, nextEntry.attributes.rating];
}
//trace(menuContent);
menuLength = menuContent.length;
elementspacer = 1;
var menuItem, yPosition = 0;
createEmptyMovieClip("dataContainer", 1);
dataContainer._y = 60;
dataContainer._x = 305;
for (var i = 0; i<menuLength; i++) {
nav_mc.attachMovie("element", "menuItem"+i, i);
thisClip = nav_mc["menuItem"+i];
thisClip.menuname = menuContent[i][0];
thisClip.destination = menuContent[i][1];
thisClip.menurating = menuContent[i][2];
thisClip._y = yPosition;
yPosition += Math.floor(thisClip._height+elementspacer);
}
} else {
trace("Kon niet laden");
}
};
xmlData.load("menu.xml");
preloader_mc._visible = false;
var btn_spacing = 20;
var thumb_y = 300;
cap_mc._alpha = 0;
var btnArray = new Array();
function DisplayNumbers() {
var one = xmlData.firstChild.childNodes;
for (var i = 0; i<one.length; i++) {
var two = one[i];
var Btn = nav_mc.holder_mc.attachMovie("btn_mc", "btn_mc"+i, i+1);
Btn._x = btn_spacing;
Btn._y = btn_spacing*i;
Btn.id = two.attributes.name;
Btn.txt_txt.text = Btn.id;
Btn.onRollOver = Btn.onPress=function () {
this.txt_txt.textColor = 0xff0000;
};
Btn.onRollOut = function() {
this.txt_txt.textColor = 0x000000;
};
Nav();
}
}
function Nav() {
var speed = 5.2;
var targY = 0;
var dragger = nav_mc.dragger_mc;
var holder = nav_mc.holder_mc;
var mask = nav_mc.mask_mc;
dragger._x = mask._width+30;
dragger._y = 0;
dragger._yscale = (holder._height/mask._height)*40;
dragger.onPress = function() {
startDrag(this, false, this._x, 0, this._x, mask._height-this._height);
};
dragger.onRelease = dragger.onReleaseOutside=function () {
stopDrag();
};
holder.onEnterFrame = function() {
scroll = (this._height-(mask._height/1.2))/(mask._height-dragger._height);
targY = -dragger._y*scroll;
this._y -= (this._y-targY)/speed;
};
holder.setMask(mask);
}