add autoscrolling
This commit is contained in:
1 parent
99e9e84731
commit
e37d086611
2 files changed
+22
-1
No files matched your search
@@ -249,6 +249,15 @@ function defaults()
|
|||||||
default: false,
|
default: false,
|
||||||
label: "Reader insert at bottom (not recommended)"
|
label: "Reader insert at bottom (not recommended)"
|
||||||
});
|
});
|
||||||
|
settings.push({
|
||||||
|
id: "reader_reverse",
|
||||||
|
kind: "number",
|
||||||
|
min: 0,
|
||||||
|
max: 10000,
|
||||||
|
step: 1,
|
||||||
|
default: 200,
|
||||||
|
label: "Reader autoscroll leeway (when \"insert at bottom\" is enabled) (0 disables)"
|
||||||
|
});
|
||||||
|
|
||||||
// other (added imperatively)
|
// other (added imperatively)
|
||||||
settings.push({
|
settings.push({
|
||||||
|
|||||||
@@ -6,7 +6,8 @@
|
|||||||
// we only use a tiny number of settings here
|
// we only use a tiny number of settings here
|
||||||
|
|
||||||
let settings = {
|
let settings = {
|
||||||
reader_reverse: false
|
reader_reverse: false,
|
||||||
|
reader_leeway: 200
|
||||||
};
|
};
|
||||||
|
|
||||||
async function settings_init()
|
async function settings_init()
|
||||||
@@ -21,6 +22,7 @@ async function settings_init()
|
|||||||
settings[name] = temp;
|
settings[name] = temp;
|
||||||
}
|
}
|
||||||
getvar("reader_reverse", false);
|
getvar("reader_reverse", false);
|
||||||
|
getvar("reader_leeway", 200);
|
||||||
} catch(err) {} // options not stored yet
|
} catch(err) {} // options not stored yet
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -60,7 +62,17 @@ function update(text)
|
|||||||
if(!settings.reader_reverse)
|
if(!settings.reader_reverse)
|
||||||
target.insertBefore(newnode, document.body.firstChild);
|
target.insertBefore(newnode, document.body.firstChild);
|
||||||
else
|
else
|
||||||
|
{
|
||||||
target.appendChild(newnode);
|
target.appendChild(newnode);
|
||||||
|
|
||||||
|
if(settings.reader_leeway != 0)
|
||||||
|
{
|
||||||
|
let scroll_end_distance = -document.body.scrollHeight + -document.body.clientHeight + 2*document.body.offsetHeight - document.body.scrollTop;
|
||||||
|
|
||||||
|
if (scroll_end_distance < settings.reader_leeway)
|
||||||
|
window.scrollTo(0, document.body.scrollHeight);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
document.getElementById("linecount").innerText = parseInt(document.getElementById("linecount").innerText)+1;
|
document.getElementById("linecount").innerText = parseInt(document.getElementById("linecount").innerText)+1;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in new issue
Block a user