comparison mgallery.php @ 109:c8cfc6cc161a

Adjust image scaling to be delayed and not being done on each resize event (for example Firefox fullscreen switching animates by default and triggers LOTS of resize events, which makes things slow.)
author Matti Hamalainen <ccr@tnsp.org>
date Sun, 30 Oct 2016 15:22:03 +0200
parents 71de97240799
children 9da8bab49711
comparison
equal deleted inserted replaced
108:417cdd9f8864 109:c8cfc6cc161a
702 702
703 return [winW, winH]; 703 return [winW, winH];
704 } 704 }
705 705
706 706
707 function mgalAdjustImage() 707 function mgalAdjustImageDo()
708 { 708 {
709 var eimg = document.getElementById("imageImage"); 709 var eimg = document.getElementById("imageImage");
710 var win = mgalGetWindowSize(); 710 var win = mgalGetWindowSize();
711 var madj = 0.80; 711 var madj = 0.81;
712 if (eimg) 712 if (eimg)
713 { 713 {
714 if (eimg.width > eimg.height) 714 if (eimg.width > eimg.height)
715 { 715 {
716 eimg.style.width = "100%"; 716 eimg.style.width = "100%";
728 eimg.style.height = (win[1] * madj)+"px"; 728 eimg.style.height = (win[1] * madj)+"px";
729 else 729 else
730 eimg.style.height = "100%"; 730 eimg.style.height = "100%";
731 } 731 }
732 } 732 }
733 } 733 adjustPID = -1;
734 734 }
735 735
736 mgalAddEvent(document.getElementById("imageImage"), "load", mgalAdjustImage); 736
737 function mgalAdjustImage()
738 {
739 if (adjustPID == -1)
740 adjustPID = setTimeout(mgalAdjustImageDo, 500);
741 }
742
743
744 mgalAddEvent(document.getElementById("imageImage"), "load", mgalAdjustImageDo);
737 mgalAddEvent(window, "resize", mgalAdjustImage); 745 mgalAddEvent(window, "resize", mgalAdjustImage);
738 mgalAddEvent(document, "keypress", mgalProcessKeyPress); 746 mgalAddEvent(document, "keypress", mgalProcessKeyPress);
747 adjustPID = -1;
739 748
740 <? 749 <?
741 echo 750 echo
742 "</script>\n"; 751 "</script>\n";
743 } 752 }