summaryrefslogtreecommitdiff
path: root/misc
diff options
context:
space:
mode:
authorSteven Wittens <steven@10.no-reply.drupal.org>2006-02-07 02:29:06 +0000
committerSteven Wittens <steven@10.no-reply.drupal.org>2006-02-07 02:29:06 +0000
commitd67a0503470dab86995196905494e47797ab0563 (patch)
treec139771614fb445a38a17ec6da96fe0645bc0108 /misc
parentdbdca484c1a5198e9ce5ba3c8a0680b2d265f67d (diff)
downloadbrdo-d67a0503470dab86995196905494e47797ab0563.tar.gz
brdo-d67a0503470dab86995196905494e47797ab0563.tar.bz2
- #39674: Scroll fieldsets into view when expanding them
Diffstat (limited to 'misc')
-rw-r--r--misc/collapse.js16
1 files changed, 16 insertions, 0 deletions
diff --git a/misc/collapse.js b/misc/collapse.js
index 2f5c8dc06..387bf376f 100644
--- a/misc/collapse.js
+++ b/misc/collapse.js
@@ -20,6 +20,9 @@ function collapseAutoAttach() {
a.href = '#';
a.onclick = function() {
toggleClass(this.parentNode.parentNode, 'collapsed');
+ if (!hasClass(this.parentNode.parentNode, 'collapsed')) {
+ collapseScrollIntoView(this.parentNode.parentNode);
+ }
this.blur();
return false;
};
@@ -48,3 +51,16 @@ function collapseEnsureErrorsVisible(fieldset) {
}
}
}
+
+function collapseScrollIntoView(node) {
+ var h = self.innerHeight || document.documentElement.clientHeight || document.body.clientHeight || 0;
+ var offset = self.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;
+ var pos = absolutePosition(node);
+ if (pos.y + node.scrollHeight > h + offset) {
+ if (node.scrollHeight > h) {
+ window.scrollTo(0, pos.y);
+ } else {
+ window.scrollTo(0, pos.y + node.scrollHeight - h);
+ }
+ }
+}