PDA

Volledige versie bekijken : clearInterval werkt niet


alb
%Europe/Berlin %922 %2007, 22:08
dag,

ik heb een probleem met twee slide shows

als ik met de muis over de ene Movieclip ga moet deze een slideshow afspelen
met rollOut moet deze stoppen.
deze mogelijk gebruik ik voor twee Movieclips.

Echter als je snel met je muis over beide Movieclips ga wordt de clearInterval niet uitgevoerd
de slideshow blijft dan doorlopen.

Ik heb van alles geprobeerd, maar het probleem lost zich niet op.

Iemand met een oplossing?

ik gebruik de volgende code:

function slider(){
delay = 1000;

function loadXML(loaded) {
if (loaded) {
xmlNode = this.firstChild;
image = [];
total = xmlNode.childNodes.length;
for (i=0; i<total; i++) {
image[i] = xmlNode.childNodes[i].childNodes[0].firstChild.nodeValue;
}
p = Math.floor(Math.random()*total)-1;
Image();
} else {
content ="geen XML";
}
}

xmlData = new XML();
xmlData.ignoreWhite = true;
xmlData.onLoad = loadXML;
xmlData.load(var2);


function Image() {
p++;
loadMovie(image[p], keuze);
slideshow();
}


function slideshow() {
myInterval = setInterval(pause_slideshow, delay);
function pause_slideshow() {
clearInterval(myInterval);
if (p == (total-1)) {
p = -1;
Image();
} else {
Image();
}
}
}
}

buttonR_btn.onRollOver = function(){
var2 ="./vrouw/vrouw.xml";
keuze ="pictureRechts";
slider();
}

buttonR_btn.onRollOut = function(){
clearInterval(myInterval);
}

buttonL_btn.onRollOver = function(){
var2 ="./man/man.xml";
keuze ="pictureLinks";
slider();
}

buttonL_btn.onRollOut = function(){
clearInterval(myInterval);
}

BernardV
%Europe/Berlin %925 %2007, 22:12
Zou je je code even tussen [as ][/as ] tags willen zetten? (zonder de spatie dan)

alb
%Europe/Berlin %926 %2007, 22:14
function slider(){
delay = 1000;

function loadXML(loaded) {
if (loaded) {
xmlNode = this.firstChild;
image = [];
total = xmlNode.childNodes.length;
for (i=0; i<total; i++) {
image[i] = xmlNode.childNodes[i].childNodes[0].firstChild.nodeValue;
}
p = Math.floor(Math.random()*total)-1;
Image();
} else {
content ="geen XML";
}
}

xmlData = new XML();
xmlData.ignoreWhite = true;
xmlData.onLoad = loadXML;
xmlData.load(var2);


function Image() {
p++;
loadMovie(image[p], keuze);
slideshow();
}


function slideshow() {
myInterval = setInterval(pause_slideshow, delay);
function pause_slideshow() {
clearInterval(myInterval);
if (p == (total-1)) {
p = -1;
Image();
} else {
Image();
}
}
}
}

buttonR_btn.onRollOver = function(){
var2 ="./vrouw/vrouw.xml";
keuze ="pictureRechts";
slider();
}

buttonR_btn.onRollOut = function(){
clearInterval(myInterval);
}

buttonL_btn.onRollOver = function(){
var2 ="./man/man.xml";
keuze ="pictureLinks";
slider();
}

buttonL_btn.onRollOut = function(){
clearInterval(myInterval);
}

[/QUOTE]

BernardV
%Europe/Berlin %962 %2007, 23:05
Wat is de reden dat je allemaal functies binnen functies hebt staan?
Ik zie de logica niet echt...

alb
%Europe/Berlin %981 %2007, 23:33
Dit komt omdat ik een bestaande slideshow gebruik om in twee Movieclips een slideshow te tonen.
Deze heb ik dan in een function gevat die op zijn beurt weer wordt aangeroepen door de twee buttons.
Kan dit een reden zijn voor mijn probleem?

BernardV
%Europe/Berlin %008 %2007, 00:12
Zou je eens je FLA kunnen plaatsen? Dan kan ik even wat voor je testen...
Met deze code moet ik echt alles gaan lezen en bedenken waar het fout zou kunnen gaan..