[dreamweaver] swap image gaat langzaam

Pagina: 1
Acties:

  • oogapp0ltje
  • Registratie: Januari 2001
  • Niet online
Image swapping met dreamweaver gegenereerde javascript code gaat bij mij ontzettend langzaam, in sommige gevallen weergeeft hij zelfs het plaatje niet meer na de onmouseover event (hij weergeeft dan enkel een kruisje).
Alle images zijn preloaded in een vorige pagina, dus daar kan het probleem niet zitten, hebben jullie hier ervaring mee? ik werk al langer met dreamweaver en heb het gebruikt voor verschillende sites, iedere keer heb ik de ervaring dat de Swap Image behaviour echt ontzettend langzaam gaat bij iedere site dat ik de functie gebruikt heb.
Maar als ik naar andere websites kijk die ook in dreamweaver gemaakt zijn verloopt de functie echter wél vloeiend. ik doe dus waarschijnlijk iets verkeerd.

Dit stukje code gebruikt dreamweaver voor Swap Image:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}


deze functies roep ik in mijn code aan op deze manier:
code:
1
 <a href="pages/inleiding.php" target="center" onmouseover="MM_swapImage('Image1','','img/hl/hl_uitnodiging.gif',1);" onmouseout="MM_swapImgRestore();">

| To acknowledge what is known as known and what is not known as known is knowledge. |


  • HunterPro
  • Registratie: Juni 2001
  • Niet online
preload je je images wel?

  • oogapp0ltje
  • Registratie: Januari 2001
  • Niet online
Alle images zijn preloaded in een vorige pagina
wake up neo :O :P

| To acknowledge what is known as known and what is not known as known is knowledge. |


  • Blaise
  • Registratie: Juni 2001
  • Niet online
Normaal zou het gewoon moeten werken
(heb die code ook gebruikt, werkte vloeiend bij moi)

- weet je zeker dat de plaatjes wel preloaded zijn?
- zijn de plaatjes erg groot?
- staat je caching aan?

  • oogapp0ltje
  • Registratie: Januari 2001
  • Niet online
Ik kan niet controleren of mijn images wel preloaded zijn of niet (ik heb iig geen idee hoe...)
De plaatjes zijn niet groot (ongeveer 4 kb).
Ik heb het getest op meerdere systemen, waarop caching enabled staat.

| To acknowledge what is known as known and what is not known as known is knowledge. |


Verwijderd

Schrijf gewoon je eigen preload/swap image functies. Die MM_ functies zijn onduidelijk geschreven, obfuscated, en ik ben in ieder geval niet van plan om daar support op te gaan leveren.

  • Folkert
  • Registratie: September 2001
  • Laatst online: 10-07 07:58
Wat staat er bij je body onLoad="....??????

  • oogapp0ltje
  • Registratie: Januari 2001
  • Niet online
Ja dat is inderdaad een optie, maar dreamweaver is een pakket dat standaard deze functies ondersteunt, schijnbaar gaan hun er van uit dat deze functies echt moeten werken, bij mij is dat dus niet het geval, verder zie ik geen reden om hierover niet verder te discusseren, behalve het feit dat deze door dreamweaver genereerde code er nogal onduidelijk uitziet.

| To acknowledge what is known as known and what is not known as known is knowledge. |


  • oogapp0ltje
  • Registratie: Januari 2001
  • Niet online
Wat staat er bij je body onLoad="....??????
code:
1
onload="MM_preloadImages('img/bg_02.gif','img/bg_01.gif','img/bg_03.gif','img/bg_04.gif','img/bg_05.gif','img/bg_06.gif','img/bg_07.gif','img/bg_08.gif','img/bg_09.gif','img/bg_10.gif','img/bg_11.gif','img/bg_12.gif','img/bg_13.gif','img/bg_15.gif','img/hl/house.gif','img/hl/butterfly.gif','img/hl/print.gif','img/hl/relax.gif','img/hl/submit.gif','img/hl/waterdrop.gif','img/hl/wegwijzer.gif');"


Ook dit is een preload functie uit dreamweaver die er als volgd uitziet:
code:
1
2
3
4
5
  function MM_preloadImages() { //v3.0
    var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
      var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
      if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
  }

[ Voor 18% gewijzigd door oogapp0ltje op 21-08-2003 14:19 ]

| To acknowledge what is known as known and what is not known as known is knowledge. |


  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Ravenof schreef op 21 August 2003 @ 14:17:
Ja dat is inderdaad een optie, maar dreamweaver is een pakket dat standaard deze functies ondersteunt, schijnbaar gaan hun er van uit dat deze functies echt moeten werken, bij mij is dat dus niet het geval, verder zie ik geen reden om hierover niet verder te discusseren, behalve het feit dat deze door dreamweaver genereerde code er nogal onduidelijk uitziet.
Ik zie eigenlijk geen reden om dit te bediscuseren, simpelweg omdat wij niet de Macromedia support-desk zijn.
Mijn persoonlijke mening is dat de MM_ functies naast onduidelijk ook nog eens behoorlijk brak zijn, en er veel betere methoden zijn voor zoiets triviaals als een image-swap en het preloaden van plaatjes....

Intentionally left blank


  • Folkert
  • Registratie: September 2001
  • Laatst online: 10-07 07:58
maar in je code gebruik je een plaatje (hl_uitnodiging.gif') die ik niet vind in je preload. En hoe groot zijn de plaates...?
Er zijn uiteraard meerdere wegen naar Rome. Het voordeel van deze scripts is dat het supersnel werkt in ontwikkelfase. Ik gebruik ze zelf ook als ik ze echt nodig heb.
Heb je al iets geupload zodat ik daar even naar kan kijken?

[ Voor 53% gewijzigd door Folkert op 21-08-2003 14:27 ]


  • oogapp0ltje
  • Registratie: Januari 2001
  • Niet online
Folkert schreef op 21 augustus 2003 @ 14:25:
maar in je code gebruik je een plaatje (hl_uitnodiging.gif') die ik niet vind in je preload. En hoe groot zijn de plaates...?
Er zijn uiteraard meerdere wegen naar Rome. Het voordeel van deze scripts is dat het supersnel werkt in ontwikkelfase. Ik gebruik ze zelf ook als ik ze echt nodig heb.
hl_uitnodiging was ik idd vergeten op te nemen :) maar het maakt niets uit, nog steeds werkt het super traag, de plaatjes zijn per stuk ongeveer 4 kb groot (IE zou hier in principe geen moeite mee moeten hebben).

| To acknowledge what is known as known and what is not known as known is knowledge. |


  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

heb je je caching in IE wel op automatisch staan (ik neem aan dat je IE gebruikt)? Anders kan je preloaden wat je wilt, maar zal hij toch altijd bij een image-swap het plaatje opnieuw laden van de server. Dat het lokaal dan wel goed werkt is logisch: van harde schijf lezen gaat natuurlijk ietsje sneller...

Intentionally left blank


  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 19-08 22:14

Bosmonster

*zucht*

De MM_ functies zijn ook erg traag. Op langzamere PC's kunnen er behoorlijke vertragingen optreden met al zoiets simpels als een mouseover. Ik pik ze er altijd zo uit op internet als ik weer een site tegenkom waar mouseovers voor geen meter lopen...

image-mouseovers zijn zo'n beetje het simpelste wat je kunt doen met javascript. Schrijf ze dus lekker zelf :)
Pagina: 1