From c632fc6976ca908ee16e910f9d214980bf29c43d Mon Sep 17 00:00:00 2001 From: Andreas Gohr <andi@splitbrain.org> Date: Thu, 26 Jan 2006 22:29:26 +0100 Subject: [PATCH] scroll__here support This adds a simple JavaScript behavior. When an element with the id 'scroll__here' is found in the document the browser will scroll this element into view. Useful to scroll to some output after form submitting. darcs-hash:20060126212926-7ad00-b359915a5d6a299652134d8dfa64015786283b6b.gz --- lib/exe/js.php | 1 + lib/plugins/usermanager/admin.php | 2 +- lib/scripts/script.js | 22 ++++++++++------------ 3 files changed, 12 insertions(+), 13 deletions(-) diff --git a/lib/exe/js.php b/lib/exe/js.php index 56fa8575a..488320ddd 100644 --- a/lib/exe/js.php +++ b/lib/exe/js.php @@ -79,6 +79,7 @@ function js_out(){ js_runonstart("ajax_qsearch.init('qsearch_in','qsearch_out')"); js_runonstart("addEvent(document,'click',closePopups)"); js_runonstart('addTocToggle()'); + js_runonstart('scrollToMarker()'); if($edit){ // size controls diff --git a/lib/plugins/usermanager/admin.php b/lib/plugins/usermanager/admin.php index 64ef0f5ff..b7ee03215 100644 --- a/lib/plugins/usermanager/admin.php +++ b/lib/plugins/usermanager/admin.php @@ -226,7 +226,7 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin { } if($this->_edit_user && $this->_auth->canDo('modifyUser')){ - ptln("<div".$style.">"); + ptln("<div".$style." id=\"scroll__here\">"); print $this->locale_xhtml('edit'); ptln(" <div class=\"level2\">"); diff --git a/lib/scripts/script.js b/lib/scripts/script.js index a8c6fe3fd..d2fbc35bf 100644 --- a/lib/scripts/script.js +++ b/lib/scripts/script.js @@ -47,12 +47,7 @@ function $() { */ function findPosX(object){ var curleft = 0; - var obj; - if(typeof(object) == 'object'){ - obj = object; - }else{ - obj = $(object); - } + var obj = $(object); if (obj.offsetParent){ while (obj.offsetParent){ curleft += obj.offsetLeft; @@ -72,12 +67,7 @@ function findPosX(object){ */ function findPosY(object){ var curtop = 0; - var obj; - if(typeof(object) == 'object'){ - obj = object; - }else{ - obj = $(object); - } + var obj = $(object); if (obj.offsetParent){ while (obj.offsetParent){ curtop += obj.offsetTop; @@ -392,3 +382,11 @@ function closePopups(){ } } } + +/** + * Looks for an element with the ID scroll__here at scrolls to it + */ +function scrollToMarker(){ + var obj = $('scroll__here'); + if(obj) obj.scrollIntoView(); +} -- GitLab