La aplicación My Dojo utiliza algunos paneles de contenido para mostrar diferentes bits de información. El panel principal tiene una buena cantidad de datos desplazables. Necesito poder presionar un botón para saltar a ciertos lugares.Desplácese a una ubicación determinada utilizando un Dojo ContentPanel
Actualmente usando:
dojo.byId(iid).scrollIntoView();
Esto funciona perfectamente, excepto que parece basar el cálculo en la parte superior ventana del navegador en lugar de arriba los contentpanes'. Como mi panel de contenido NO está en la parte superior de la página (hay una barra de herramientas de 50 píxeles de alto en la parte superior), el DIV que estoy desplazando también es 50 píxeles demasiado alto.
Algo como esto funcionaría, pero scrollBy sólo se aplica a la ventana:
dojo.byId(iid).scrollIntoView(); //Scroll to div in quesiton
dojo.byId(iid).scrollBy(0,50); //scroll down 50px more to account for panes offset from window.
Antecedentes de aplicación completa: La aplicación utiliza unos de dijit.layout.BorderContainer para la disposición. Un usuario puede hacer clic en el árbol de la izquierda para mostrar un evento en el panel de la derecha. Si hacen clic en un "Objetivo", creo todos los nodos DOM en el panel derecho dinámicamente y luego intento desplazarme hacia el elemento en el que se hace clic. La parte de desplazamiento funciona para los nodos superior e inferior, pero se compensa para los nodos intermedios.
Aclaración: Mi base de usuarios es 100% IE7 en XP (no es mi idea). – Bitwize