Release 0.7.1
[hnim.git] / hnim.js
diff --git a/hnim.js b/hnim.js
index ab854f8..1e804b3 100644 (file)
--- a/hnim.js
+++ b/hnim.js
@@ -15,7 +15,7 @@
 
   const visible = (element) => {
     let bounds = element.getBoundingClientRect();
-    return bounds.top >= 0 && bounds.bottom <= window.innerHeight;
+    return Math.abs(bounds.bottom - bounds.top) > window.innerHeight || (bounds.top >= 0 && bounds.bottom <= window.innerHeight);
   }
 
   const changeWithVisibleCallback = (comment, callback) => {
@@ -32,7 +32,7 @@
 
   const change = (comment) => {
     elementsIndex = elements.indexOf(comment);
-    changeWithVisibleCallback(comment, () => {});
+    changeWithVisibleCallback(comment, () => {comment.scrollIntoView()});
   }
 
   // Curry callback for moving downpage
@@ -51,7 +51,7 @@
     change(e.target.closest("tr.athing"));
   })
   document.addEventListener("keydown", (e) => {
-    if (e.isComposing) {
+    if (e.target.type === 'textarea' || e.isComposing) {
       return;
     }
     switch (e.key) {