Open GoogleCodeExporter opened 9 years ago
Oh yeah, the url to the standard:
http://www.w3.org/html/wg/html5/#scrollintoview
it doesn't mention horizontal scrolling.
Original comment by doek...@gmail.com
on 21 Jul 2007 at 8:50
If it is only a few lines of code then by all means code it up. If it requires
a lot
of code then I don't consider it important enough to include in base2.DOM. You
can
alway write it as an optional Module if that is the case. Maybe DOM/extras is
something we should create either way?
Original comment by dean.edw...@gmail.com
on 23 Jul 2007 at 9:04
DOM/extras it is. We can always merge it with DOM later.
Original comment by doek...@gmail.com
on 23 Jul 2007 at 9:21
Hey. If scrollIntoView fix is only a couple of lines it can still go in
base2.DOM
core. But It would be nice to have some /extras/ for other stuff.
Or we can namespace it (with lazy loading in mind).
e.g. base2.use(DOM.Element.scrollIntoView);
Which would mean that the code lived here:
/svn/version/whatever/DOM/HTMLElement/scrollIntoView.js
Thoughts?
Original comment by dean.edw...@gmail.com
on 23 Jul 2007 at 9:54
I will come up with my javascript builder idea shortly. Then we talk.
The code for scrollIntoView at the moment is:
---8<----------------------------------------------------------------------
function GetWindowHeight() {
return window.innerHeight||document.documentElement&&document.documentElement.clientHeight||document.body.clientHeight||0;
}
function GetScrollTop() {
return window.pageYOffset||document.documentElement&&document.documentElement.scrollTop || document.body.scrollTop||0;
}
function GetTop(element) {
var pos=0;
do pos+=element.offsetTop
while(element=element.offsetParent);
return pos;
}
function InView(element,margin) {
if(typeof element=='string') element=$(element);
if(!margin) margin=0;
var Top=GetTop(element), ScrollTop=GetScrollTop();
return !(Top<ScrollTop+margin || Top>ScrollTop+GetWindowHeight()-element.offsetHeight-margin);
}
function ScrollIntoView(element,bAlignTop,margin) {
if(typeof element=='string') element=$(element);
if(!margin) margin=0;
var posY=GetTop(element);
if(bAlignTop) posY-=margin;
else posY+=element.offsetHeight+margin-GetWindowHeight();
window.scrollTo(0, posY);
}
---8<----------------------------------------------------------------------
to long?
Original comment by doek...@gmail.com
on 23 Jul 2007 at 10:06
Too long.
Original comment by dean.edw...@gmail.com
on 23 Jul 2007 at 1:06
That too ;-)
Original comment by doek...@gmail.com
on 23 Jul 2007 at 3:42
We could create DOM/HTML5, and also move getElementsByClassName to there, and
implement:
irrelevant, draggable there. But I for starters, I implement the DOM/strict way.
Original comment by doek...@gmail.com
on 23 Jul 2007 at 10:02
Original issue reported on code.google.com by
doek...@gmail.com
on 21 Jul 2007 at 8:49