issue45, first learning lessons with image preloading
authorAndreas Unterkircher <unki@netshadow.at>
Tue, 17 Jul 2007 17:37:31 +0000 (17:37 +0000)
committerAndreas Unterkircher <unki@netshadow.at>
Tue, 17 Jul 2007 17:37:31 +0000 (17:37 +0000)
git-svn-id: file:///var/lib/svn/phpfspot/trunk@218 fa6a889d-dae6-447d-9e79-4ba9a3039384

phpfspot.js
templates/photo_index.tpl

index 068a96f76c0c5427789d538b8c5ff389a42259fa..58e48de6e026d9e8adf257cbdd44d15947036f8b 100644 (file)
@@ -226,6 +226,55 @@ function resetAll()
    refreshPhotoIndex();
 }
 
+function WSR_getElementsByClassName(oElm, strTagName, oClassNames){
+   var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
+   var arrReturnElements = new Array();
+   var arrRegExpClassNames = new Array();
+   if(typeof oClassNames == "object"){
+      for(var i=0; i<oClassNames.length; i++){
+         arrRegExpClassNames.push(new RegExp("(^|\s)" + oClassNames[i].replace(/-/g, "\-") + "(\s|$)"));
+      }
+   }
+   else{
+      arrRegExpClassNames.push(new RegExp("(^|\s)" + oClassNames.replace(/-/g, "\-") + "(\s|$)"));
+   }
+   var oElement;
+   var bMatchesAll;
+   for(var j=0; j<arrElements.length; j++){
+      oElement = arrElements[j];
+      bMatchesAll = true;
+      for(var k=0; k<arrRegExpClassNames.length; k++){
+         if(!arrRegExpClassNames[k].test(oElement.className)){
+            bMatchesAll = false;
+            break;
+         }
+      }
+      if(bMatchesAll){
+         arrReturnElements.push(oElement);
+      }
+   }
+   return (arrReturnElements)
+}
+
+
+function preloadPhotos(lbImg) {
+
+   var d=document;
+   if(d.images)
+      if(!d.photos)
+         d.photos=new Array();
+
+   var i, j=d.photos.length;
+
+   lbImg=WSR_getElementsByClassName(document,"img","thumb");
+   for(i=0;i<lbImg.length;i++){
+      d.photos[j]=new Image;
+      d.photos[j].src=lbImg[i].src;
+      j++;
+   }
+}
+
 var startup = 1;
 var calendar_shown = 0;
 var calendar_mode = '';
+
index e4ed521e114de66baca32d3817c999dc47c33081..2b4c82744354c750886731ab8f1dab59616681fd 100644 (file)
   </td>
  </tr>
 </table>
+<script type="text/javascript">
+<!--
+   preloadPhotos();
+-->
+</script>
 <!-- /Photo Index -->