Hey,
I’m working on a mp3 uploader (http://www.weboplossingen.com/upload-system/interface.html)
When you select multiple mp3’s, these are stored in an Array, called “list”.
If I want to delete a mp3 from this array, I use the splice method, but some strange bug appears:
Suppose I have selected 3 mp3’s…
When i remove the first, it says: list.length= 2 which is correct
when i remove the 2nd, it says: list.length= 1 which is also correct
but when i remove the 3rd, i would have expected list.length = 0; … but it doesn’t…list/length remains = 1 ???
Can anyone shed some light on this??
Here’s my code:
listener.onSelect = function(fileRefList:FileReferenceList) {
var list:Array = fileRefList.fileList;
var item:FileReference;
_global.nrOfUploads = list.length;
var xOffest = 15;
var yOffset = 15;
for(var i:Number = 0; i < list.length; i++) {
item = list*;
mc.attachMovie("progresBalk","bar"+i,i, {_x:xOffest, _y:yOffset});
mc["bar"+i].innerbar._xscale = 0;
mc["bar"+i].track_txt.text = item.name;
// create delete button
var newDeleteButton = mc["bar"+i].attachMovie("del", "delbtn"+i,i);
newDeleteButton.id = i;
// delete items:
newDeleteButton.onPress = function() {
list.splice(this.id,1);
mc["bar"+this.id]._alpha = 30;
textArea.text = "List array length="+list.length;
}
_root.itemsContainer.onComplete(); // fix for scrollPane scroll bug!
xOffest+= 110;
yOffest+= 140;
if (i == 3) {
var xOffest = 15;
var yOffset = 135;
}
if (i == 7) {
var xOffest = 15;
var yOffset = 275;
}
if (i == 11) {
var xOffest = 15;
var yOffset = 415;
}
if (i == 15) {
var xOffest = 15;
var yOffset = 555;
}
trace(item.addListener(this));
}
Best regards,
Vic