473,239 Members | 1,847 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,239 software developers and data experts.

"IsInview" function?

Has anyone come up with an "IsInview" function that one could use to
test whether scrollIntoView is needed?

Imagine a (scrolled) list of editable item prices. I want to impose
maximum and minimum limits - so I test the just-changed value when the
user either starts to edit another field, or tries to close the form.

If there is an error, I need to highlight the error - and that means
scrolling back to the problem item if it is not in view. Simple enough.

BUT if the item is ALREADY in view, I don't want to do a scrollIntoView
because that will move the item to the top or bottom of the scrollable
area (depending on the parameter setting) - when the item is already
happily displayed within the visible area. The user would see the list
move when there is no need to do anything other than highlight the field
as problematic.

But how to test whether a particular element is currently "in view"? Ideas?

John Geddes
England
Sep 18 '08 #1
2 3384
John Geddes wrote:
Has anyone come up with an "IsInview" function that one could use to
test whether scrollIntoView is needed?

Imagine a (scrolled) list of editable item prices. I want to impose
maximum and minimum limits - so I test the just-changed value when the
user either starts to edit another field, or tries to close the form.

If there is an error, I need to highlight the error - and that means
scrolling back to the problem item if it is not in view. Simple enough.
The focus() method will scroll the element into view, only if needed.

In fact, for those wishing to implement a 'scrollIntoViewIfNeeded' (ala
Safari), this is the way to do it. It will work even in old browsers
where scrollIntoView is not available or broken (mac IE).

Take care not to create an infinite loop. The focus method fires onfocus.

Garrett
John Geddes
England
Sep 19 '08 #2
dhtml wrote:
John Geddes wrote:
>Has anyone come up with an "IsInview" function that one could use to
test whether scrollIntoView is needed?

Imagine a (scrolled) list of editable item prices. I want to impose
maximum and minimum limits - so I test the just-changed value when the
user either starts to edit another field, or tries to close the form.

If there is an error, I need to highlight the error - and that means
scrolling back to the problem item if it is not in view. Simple enough.

The focus() method will scroll the element into view, only if needed.

In fact, for those wishing to implement a 'scrollIntoViewIfNeeded' (ala
Safari), this is the way to do it. It will work even in old browsers
where scrollIntoView is not available or broken (mac IE).

Take care not to create an infinite loop. The focus method fires onfocus.

Garrett
>John Geddes
England
Just a note for posterity (after some painful experimentation) - focus
is great (and ideal in mycase), but note that it only applies to TEXT
OBJECTS(<input type="text">) while scrollIntoView will work on a <div>
or <pfor example.

John Geddes

Sep 25 '08 #3

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

3
by: domeceo | last post by:
can anyone tell me why I cannot pass values in a setTimeout function whenever I use this function it says "menu is undefined" after th alert. function imgOff(menu, num) { if (document.images) {...
5
by: phil_gg04 | last post by:
Dear Javascript Experts, Opera seems to have different ideas about the visibility of Javascript functions than other browsers. For example, if I have this code: if (1==2) { function...
2
by: laredotornado | last post by:
Hello, I am looking for a cross-browser way (Firefox 1+, IE 5.5+) to have my Javascript function execute from the BODY's "onload" method, but if there is already an onload method defined, I would...
2
by: sushil | last post by:
+1 #include<stdio.h> +2 #include <stdlib.h> +3 typedef struct +4 { +5 unsigned int PID; +6 unsigned int CID; +7 } T_ID; +8 +9 typedef unsigned int (*T_HANDLER)(void); +10
8
by: Olov Johansson | last post by:
I just found out that JavaScript 1.5 (I tested this with Firefox 1.0.7 and Konqueror 3.5) has support not only for standard function definitions, function expressions (lambdas) and Function...
3
by: Beta What | last post by:
Hello, I have a question about casting a function pointer. Say I want to make a generic module (say some ADT implementation) that requires a function pointer from the 'actual/other modules'...
2
by: f rom | last post by:
----- Forwarded Message ---- From: Josiah Carlson <jcarlson@uci.edu> To: f rom <etaoinbe@yahoo.com>; wxpython-users@lists.wxwidgets.org Sent: Monday, December 4, 2006 10:03:28 PM Subject: Re: ...
28
by: Larax | last post by:
Best explanation of my question will be an example, look below at this simple function: function SetEventHandler(element) { // some operations on element element.onclick = function(event) {
4
by: alex | last post by:
I am so confused with these three concept,who can explained it?thanks so much? e.g. var f= new Function("x", "y", "return x * y"); function f(x,y){ return x*y } var f=function(x,y){
7
by: VK | last post by:
I was getting this effect N times but each time I was in rush to just make it work, and later I coudn't recall anymore what was the original state I was working around. This time I nailed the...
3
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 3 Jan 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM). For other local times, please check World Time Buddy In...
0
by: abbasky | last post by:
### Vandf component communication method one: data sharing ​ Vandf components can achieve data exchange through data sharing, state sharing, events, and other methods. Vandf's data exchange method...
2
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 7 Feb 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:30 (7.30PM). In this month's session, the creator of the excellent VBE...
0
by: fareedcanada | last post by:
Hello I am trying to split number on their count. suppose i have 121314151617 (12cnt) then number should be split like 12,13,14,15,16,17 and if 11314151617 (11cnt) then should be split like...
0
Git
by: egorbl4 | last post by:
Скачал я git, хотел начать настройку, а там вылезло вот это Что это? Что мне с этим делать? ...
1
by: davi5007 | last post by:
Hi, Basically, I am trying to automate a field named TraceabilityNo into a web page from an access form. I've got the serial held in the variable strSearchString. How can I get this into the...
0
by: DolphinDB | last post by:
The formulas of 101 quantitative trading alphas used by WorldQuant were presented in the paper 101 Formulaic Alphas. However, some formulas are complex, leading to challenges in calculation. Take...
0
by: Aftab Ahmad | last post by:
Hello Experts! I have written a code in MS Access for a cmd called "WhatsApp Message" to open WhatsApp using that very code but the problem is that it gives a popup message everytime I clicked on...
0
by: Aftab Ahmad | last post by:
So, I have written a code for a cmd called "Send WhatsApp Message" to open and send WhatsApp messaage. The code is given below. Dim IE As Object Set IE =...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.