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