13. april 2003 - 16:44Der er
2 kommentarer og 1 løsning
Preloader i (D)HTML????
Hey alle Eksperter!
Jeg har flere gange set denne "loader-bar" på forskellige hjemmesider. Jeg ved at den henter al data inden den pågældende side bliver vist, jeg kan også lave den i flash, men ikke i HTML. Altså sådan så den henter al data fra en anden side, mens "loader-siden" bliver vist..
var imgObjs = new Array(pics.length); var loaded = 0; var total = pics.length; var cPercent = 0;
var barLayer = null; var percentLayer = null; var statLayer = null; var doneMsgLayer = null;
function getLayer(layerID) { if (document.getElementById) return document.getElementById(layerID); else if (document.all) return document.all[layerID]; else return null; }
function updateBar() { statLayer.innerHTML = "<font face=\"Arial\" color=\"#FFFFFF\"><B>" +loaded+ "/" +total+ "</B></font>"; var percent = Math.round(loaded/total * 100); if (cPercent != percent) { cPercent = percent; barLayer.style.width = (cPercent*3) +"px"; percentLayer.innerHTML = "<font color=\"#BBBB00\"><B>" +cPercent+ "%</B></font>"; } if (loaded == total) { doneMsgLayer.innerHTML = "<a href=\"java script:done()\"><font face=\"Arial\" color=\"#FFCC00\" size=\"2\"><B>Done (Click Here)</B></font></a>"; if (!doConfirm || (doConfirm && confirm("Files have finish loading, continue to next page?"))) done(); } }
function startLoading() { if (document.getElementById || document.all) { barLayer = getLayer("bar"); percentLayer = getLayer("percent"); statLayer = getLayer("stat"); doneMsgLayer = getLayer("doneMsg"); if (canSkip) doneMsgLayer.innerHTML = "<a href=\"java script:done()\"><font color=\"#FFCC00\" size=\"2\" face=\"Arial\">Skip Pre-Loading</font></a>"; for (i=0; i<pics.length; i++) { imgObjs[i] = new Image(); imgObjs[i].onload = imgLoaded; imgObjs[i].onerror = imgFailed; imgObjs[i].src = pics[i]; } } else { alert("You are likely running very old browser which is not compatible with preloading script. Maybe it is time to update your browser.\n\nProgram is skipping preloading."); window.location.replace(url); } }
function done() { window.location.replace(url); }
function imgFailed() { alert("The following image failed to load, probably a broken link:\n" +this.src+ "\nPlease contact the webmaster of the site you are visiting about this. The program will skip this file now."); loaded++; updateBar(); }
<div id="doneMatter" style="position:absolute; top:30px; left:0px; width:700px;"> <center><font color="#FFFFFF" face="Arial" size="2">Please wait while the computer preloads some files for you.</font></center><BR>
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.