// load xml images_xml = new XML(); images_xml.ignoreWhite=true; images_xml.onLoad = parse; images_xml.load("../xml/bioslide.xml");
function parse(success) { if (success) { imageArray = new Array(); var root = this.firstChild; _global.numPause = Number(this.firstChild.attributes.timer * 1000); _global.order = this.firstChild.attributes.order; _global.looping = this.firstChild.attributes.looping; _global.fadetime = Number(this.firstChild.attributes.fadetime); _global.xpos = Number(this.firstChild.attributes.xpos); _global.ypos = Number(this.firstChild.attributes.ypos); var imageNode = root.lastChild; var s=0; while (imageNode.nodeName != null) { imageData = new Object; imageData.path = imageNode.attributes.path; imageArray[s]=imageData; imageNode = imageNode.previousSibling; s++; } // place parent container container_mc._x = _global.xpos; container_mc._y = _global.ypos; // parse array imageArray.reverse(); imageGen(imageArray); } else { trace('problem'); } }
// depth swapping function swapPlace(clip,num) { eval(clip).swapDepths(eval("container_mc.loader"+num+"_mc")); }
function loadImages(data,num) { if (i==undefined || i == 2) { i=2; createLoader(i,data,num); i=1; } else if (i==1) { createLoader(i,data,num); i=2; } } function createLoader(i,data,num) { thisLoader=eval("container_mc.loader"+i+"_mc"); thisLoader._alpha=0; thisLoader.loadMovie(data[num].path); watcher_mc.onEnterFrame=function () { var picLoaded = thisLoader.getBytesLoaded(); var picBytes = thisLoader.getBytesTotal(); if (isNaN(picBytes) || picBytes < 4) { return; } if (picLoaded / picBytes >= 1) { swapPlace("container_mc.loader2_mc",1); alphaTween = new mx.transitions.Tween(thisLoader, "_alpha", mx.transitions.easing.Regular.easeOut,0,100,_global.fadetime,true); timerInterval = setInterval(imageGen,_global.numPause,data); delete this.onEnterFrame; } } } function imageGen(data) { // random, or sequential? if (_global.order=="random") { // choose random # between 0 and total number of images while (randomNum == randomNumLast) { randomNum = Math.floor(Math.random() * data.length); trace(randomNum); } loadImages(data,randomNum); randomNumLast = randomNum; } else if (_global.order=="sequential") { // start at 0, increment to total number of images, then drop back to zero when done if (p==undefined || p==data.length && _global.looping=="yes") { p=0; } else { break; } loadImages(data,p); p++; } else { trace ("order attribute in xml isn't correct - must specify either 'random' or 'sequential'"); } clearInterval(timerInterval); } stop();
den blandede dem med det samme.. tror jeg, jeg ved jo ikke hvilke der skal være hvor. Nogle gange skiftede den også brat og underligt istedet for at fade.
faktisk lavede jeg i mit sidste projekt en lille ting der automatisk (asp) fandt alle navne på billeder i en givet folder og så fader mellem dem i en tilfældig rækkefølge. Den må du da godt arve hvis det er, så slipper du for xml.
ja de begge har en XML fil hver... nu er det sådan at i nogle tilfælde skal det ikke være tilfældig rækkefølge... i retouch skal der komme a1 fade til a2 og så fade til sort og så b1 -->b2
clearInterval(timerInterval) helt øverst i dit script begge steder. Fejlen kommer fordi det gamle interval fra det gamle slideshow ikke afbrydes, når du skifter til det nye - altså funktionen kaldes automatisk hver X sekund, og du siger aldrig, at den skal holde op med det.
hehe! Helt OK - jeg må jo bøje mig i støvet når barklund endnu en gang bare sådan disker op med en løsning :)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.