Avatar billede fiskerendk Nybegynder
15. april 2014 - 10:24 Der er 1 løsning

Out Of Memory på IE8/XPe

Hej,

Jeg har lavet en stump kode som scroller en <div> til bunden og bagefter kører op igen i loop.

Dette virker også helt perfekt på IE9+ og Windows 7.

Men har et specielt sted de skal bruges nemlig på nogle Infoskærme med Windows XP Embedded og IE8 og der laver
koden Out of memory når den er i fuldskærm. På de tomme linier lige efter var div = document.getElementById...

Kan nogen se hvor mit problem skulle være:

var count;
function scrollDivToBottom() {
var div = document.getElementById('divContent');

div.scrollTop++;

if (div.scrollTop == count) {
  clearTimeout(scrolldelay);
  scrollDivToTop();
} else {
  scrolldelay = setTimeout('scrollDivToBottom()', 100);
  count = div.scrollTop;
}

div = null;
}

function scrollDivToTop() {
var div = document.getElementById('divContent');

div.scrollTop--;

if (div.scrollTop == count) {
  clearTimeout(scrolldelay);
  scrollDivToBottom();
} else {
  scrolldelay = setTimeout('scrollDivToTop()', 100);
  count = div.scrollTop;
}

div = null;
}

Med Venlig Hilsen
Thomas Nissen
Avatar billede fiskerendk Nybegynder
23. april 2014 - 12:34 #1
Jeg har reskrevet det og brugt setInterval istedet for Timeout.
Det gør tilsyneladende at der ikke er Out of memory fordi den generere en setTimeout hver gang den kører.

var count;
var div;

function scrollDivToBottom() {
div = document.getElementById('divContent');

div.scrollTop++;

if (div.scrollTop === count) {
  //document.getElementById('date').innerHTML = count;
  clearInterval(scrollInterval);
  scrollInterval = setInterval(function(){ scrollDivToTop() },100);
} else {
  count = div.scrollTop;
}
div = null;
}

function scrollDivToTop() {
div = document.getElementById('divContent');

div.scrollTop--;

if (div.scrollTop === count) {
  //document.getElementById('date').innerHTML = count;
  clearInterval(scrollInterval);
  scrollInterval = setInterval(function(){ scrollDivToBottom() },100);
} else {
  count = div.scrollTop;
}
div = null;
}
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester