 <h1>Update</h1> <p>First off I'd suggest you drop the use of setInterval, they're particularly problematic. Instead use the <code>Timer</code> class, which is far more straightforward to manage and use.</p> <p>The <code>setInterval</code> inside the <code>sRes.onLoad</code> function is probably your issue though. The interval should be in milliseconds, so your 0.1 should probably be 100 (for 1/10th second), and the <code>clearInterval</code> calls in <code>fadeIn</code> and <code>unLoad</code> might have <code>myInterval</code> out of scope, check these with a <code>trace</code> to make sure they are clearing as expected.</p> <h2>Code</h2> <p>Ok, I've re-ordered the code to make it a bit more readable... However, it is still in very bad shape. I'm marking things out that I'd need to discuss with you further... (see below additional comments in the code.)</p> <pre><code>stop(); // Moved import to the top. import JSON; // Grouping var declarations. var myself = scrollContent; myself._alpha = 0; var values = Array("3"); var myTimer = null; var sRes:LoadVars = new LoadVars(); var server_send:LoadVars = new LoadVars(); var vars = Array("id"); // why are we looping through an array of one value? for(var i=0; i&lt;vars.length; i++) { server_send[vars[i]] = escape(values[i]); } server_send.load('void.txt'); // what is this for? server_send.sendAndLoad(_global.server, sRes, "POST"); // where do we define _global.server this.onUnload = function () { clearInterval(myTimer); // is myTimer in scope here? server_send = new LoadVars(); trace("stopping gewerbe"); }; function fadeIn(which){ which._alpha += 3; if(which._alpha &gt;= 100){ clearInterval(myTimer); // is myTimer in scope here? } } sRes.onLoad = function(success:Boolean) { if (success) { var o:Object = JSON.parse(sRes.res); var s:String = JSON.stringify(o); var y = 0; for(item in o) { actCol = 0; myself.attachMovie("row", "entry" + item, myself.getNextHighestDepth(), {_x: 0, _y:y}); var tr = myself["entry" + item]; tr.cTitle = o[item]["title"]; tr.cBild = o[item]["image"]; tr.cText = o[item]["text"]; y += 65; } myTimer = setInterval(fadeIn, 0.1, myself); // setInterval uses milliseconds 0.1 is almost certainly the problem. // if you want 1/10th of a second, specify 100 as the interval. _root.myIntervals.push(myTimer); // We never see _root.myIntervals again, what's this for? // The fadeIn and unLoad methods could use this to // guarantee that they clear the right interval. } else { trace("no connection..."); } } </code></pre>