From d63ef1753821bc9c916190b779e8ea72b9ef2ca6 Mon Sep 17 00:00:00 2001 From: Lu Wang Date: Tue, 18 Sep 2012 15:27:17 +0800 Subject: [PATCH] improve scroll.js --- share/manifest | 4 ++-- share/scroll.js | 34 ++++++++++++++++++++-------------- src/HTMLRenderer/general.cc | 1 - 3 files changed, 22 insertions(+), 17 deletions(-) diff --git a/share/manifest b/share/manifest index 8b3d0a2..e5bf5aa 100644 --- a/share/manifest +++ b/share/manifest @@ -24,7 +24,7 @@ @base.css $css @jquery.js -#@hide_pages.js +@hide_pages.js """ @@ -39,7 +39,7 @@ $pages """ -#@scroll.js +@scroll.js """ diff --git a/share/scroll.js b/share/scroll.js index c9692f4..b820593 100644 --- a/share/scroll.js +++ b/share/scroll.js @@ -1,3 +1,10 @@ +/* + * scroll.js + * render only necessary pages + * + * by Hongliang TIAN + * modifiedy by Lu WANG + */ $(function() { var $pages = $(".p"), $pageWrappers = $(".b"), @@ -37,23 +44,22 @@ $(function() { } // Listen to scrolling events to render proper pages - var scrollTimer = null; + var scrolled = false; + var last_scroll_time = Date.now(); $("#pdf-main").scroll(function() { - // Now - lastScrollTime = Date.now(); - // Make sure at most one timer runs - clearInterval(scrollTimer); - // Check when scrolling stops - scrollTimer = setInterval(function() { - // If scrolling pauses 200+ms - if (Date.now() - lastScrollTime > 200) { - clearInterval(scrollTimer); - // Only render pages that are or will be visible - selectiveRender(); - } - }, 200); + scrolled = true; + last_scroll_time = Date.now(); }); + setInterval(function() { + // If scrolling pauses 200+ms + if (scrolled && (Date.now() - last_scroll_time> 100)) { + scrolled = false; + // Only render pages that are or will be visible + selectiveRender(); + } + }, 100); + // Trigger the event $("#pdf-main").scroll(); }); diff --git a/src/HTMLRenderer/general.cc b/src/HTMLRenderer/general.cc index a048708..290fd6c 100644 --- a/src/HTMLRenderer/general.cc +++ b/src/HTMLRenderer/general.cc @@ -56,7 +56,6 @@ HTMLRenderer::~HTMLRenderer() } static GBool annot_cb(Annot *, void *) { - return true; return false; };