From 6a818a47d0fcf8ffd2abcb5b80bd40c3356fd0e3 Mon Sep 17 00:00:00 2001 From: hogelog Date: Tue, 20 Jan 2009 14:49:50 +0000 Subject: * fix getCurrentPage git-svn-id: http://svn.coderepos.org/share/lang/javascript/vimperator-plugins/trunk@28718 d0d07461-0603-4401-acd4-de1884942a52 --- nextlink.js | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) (limited to 'nextlink.js') diff --git a/nextlink.js b/nextlink.js index 6087e54..f11e1d8 100644 --- a/nextlink.js +++ b/nextlink.js @@ -12,7 +12,7 @@ var PLUGIN_INFO = AutoPagerize 用の XPath より "[[", "]]" をマッピングします。 suVene hogelog - 0.3.8 + 0.3.9 MIT 1.2 2.0pre @@ -231,6 +231,7 @@ Autopager.prototype = { } var curPage = this.getCurrentPage(doc); + logger.log(curPage); var page = (count < 0 ? Math.round : Math.floor)(curPage + count); if (page <= 1) { value.isLoading = false; @@ -359,22 +360,25 @@ Autopager.prototype = { // top of page if(curPos <= 0) return 1.0; + // bottom of page + if (curPos >= win.scrollMaxY) { + if (markers.length > 0) { + var lastMarker = $U.getElementPosition(markers[markers.length-1]).top; + if (curPos <= lastMarker) return markers.length + 1; + } + return markers.length + 1.5; + } + // return n.5 if between n and n+1 var page = 1.0; - var pos; for (var i = 0, len = markers.length; i < len; i++) { - pos = $U.getElementPosition(markers[i]).top; + var pos = $U.getElementPosition(markers[i]).top; if (curPos == pos) return page + 1; if (curPos < pos) return page + 0.5; ++page; } - // bottom of page - if (curPos >= win.scrollMaxY && curPos > pos) { - return page; - } - - return page+0.5; + return page + 0.5; }, getInsertPoint: function(doc, siteinfo) { var insertPoint, lastPageElement; -- cgit v1.2.3