[yelp-xsl] xslt/common/html.xsl: Make magic image scaling less evil



commit a728f6773d6d5aafc16ad7fc9e1afcc9c8fe8f5c
Author: Shaun McCance <shaunm gnome org>
Date:   Thu Jan 20 17:56:03 2011 -0500

    xslt/common/html.xsl: Make magic image scaling less evil
    
    It had a tendency to bog everything down as it recomputed
    everything over and over and over for every pixel's worth
    of resizing. Put that stuff in an idle function, and don't
    add it if it's already added.

 xslt/common/html.xsl |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)
---
diff --git a/xslt/common/html.xsl b/xslt/common/html.xsl
index 12a2d9e..fee057a 100644
--- a/xslt/common/html.xsl
+++ b/xslt/common/html.xsl
@@ -1248,6 +1248,10 @@ $.fn.yelp_auto_resize = function () {
   var fig = $(this);
   if (fig.is('img'))
     fig = fig.parents('div.figure').eq(0);
+  if (fig.data('yelp-zoom-timeout') != undefined) {
+    clearInterval(fig.data('yelp-zoom-timeout'));
+    fig.removeData('yelp-zoom-timeout');
+  }
   var imgs = fig.find('img');
   for (var i = 0; i < imgs.length; i++) {
     var img = $(imgs[i]);
@@ -1291,7 +1295,9 @@ $.fn.yelp_auto_resize = function () {
 };
 yelp_resize_imgs = function () {
   $('div.figure img').parents('div.figure').each(function () {
-    $(this).yelp_auto_resize();
+    var div = $(this);
+    if (div.data('yelp-zoom-timeout') == undefined)
+      div.data('yelp-zoom-timeout', setTimeout(function () { div.yelp_auto_resize() }, 1));
   });
   return false;
 };



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]