SEARCH
0-9 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Prev | Current Page 249 | Next

Jonathan Snook, Aaron Gustafson, Stuart Langridge, and Dan Webb

"Accelerated DOM Scripting with Ajax, APIs, and Libraries"

processes.indexOf( 'scroll' ) != -1 ){
// scrolling
var left = this.getScrollLeft();
var top = this.getScrollTop();
if( // damn close
( Math.abs( left - this.scrolling_to[0] ) <= 1 &&
Math.abs( top - this.scrolling_to[1] ) <= 1 ) ||
// can't scroll any farther
( this.scroll_cache &&
( this.scroll_cache[0] == left &&
this.scroll_cache[1] == top ) ) ){
CHAPTER 8 n CASE STUDY: FAQ FACELIFT 184
trace( 'wrapping the scroll()' );
window.scrollTo( this.scrolling_to[0], this.scrolling_to[1] );
clearInterval( this.timer.scroll );
this.scroll_cache = null;
this.processes = this.processes.without( 'scroll' );
} else {
trace( 'scrolling()' );
window.scrollTo( left + ( this.scrolling_to[0] - left )/2,
top + ( this.scrolling_to[1] - top )/2 );
this.scroll_cache = [ left, top ];
}
} else {
trace( 'starting the scroll()' );
this.processes.push( 'scroll' );
this.timer.scroll = setInterval( 'FAQ.scroll()', 100 );
}
},
You define yet another timer (FAQ.timer.scroll) to repeatedly trigger FAQ.scroll() at
100ms intervals to smoothly move you down the page to the destination coordinates
set in FAQ.scrolling_to.
2. Those coordinates are set in FAQ.goTo() by using another helper method, FAQ.getDT(),
before calling FAQ.scroll(). FAQ.getDT() returns a reference to the DT associated with
the dd being opened. FAQ.goTo() uses this reference to get the dt element??™s position
using Prototype??™s Position.


Pages:
237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261
druga wojna światowa Free English grammar and study guid hotel jelenia góra Russian bride counter strike 1.6