1
0
mirror of https://github.com/Jermolene/TiddlyWiki5 synced 2024-11-23 18:17:20 +00:00

Refine fix for #1526

The previous fix changed the scrolling behaviour such that it only
scrolled to the top of a tiddler if the tiddler was entirely offscreen.
It wasn’t entirely satisfactory because scrolling was prevented even if
only a few pixels of a tiddler are in view. This commit ensures that
the scroll does occur if less than 50 pixels of the target is in view
This commit is contained in:
Jermolene 2015-02-25 19:09:53 +00:00
parent 489bc7a50b
commit 8d46c18fc7

View File

@ -72,15 +72,14 @@ PageScroller.prototype.scrollIntoView = function(element) {
// currentPos/currentSize - position and size of the current scroll viewport
// returns: new position of the scroll viewport
var getEndPos = function(targetPos,targetSize,currentPos,currentSize) {
console.log("getEndPos",targetPos,targetSize,currentPos,currentSize)
// If the target is entirely above/left of the current view, then scroll to its top/left
if((targetPos + targetSize) <= currentPos) {
if((targetPos + targetSize) <= (currentPos + 50)) {
return targetPos;
// If the target is smaller than the window and the scroll position is too far up, then scroll till the target is at the bottom of the window
} else if(targetSize < currentSize && currentPos < (targetPos + targetSize - currentSize)) {
return targetPos + targetSize - currentSize;
// If the target is out of view below/right, then just scroll to the top/left
} else if(targetPos > (currentPos + currentSize)) {
} else if(targetPos > (currentPos + currentSize - 50)) {
return targetPos;
// Otherwise, stay where we are
} else {