DOM
@samccone , GetList() GetListItem() DOM , , , DOM.
, , "" , offsetLeft.
DOM . , . . :.
var li = ul.getElementsByTagName( "li" )[ index ];
DOM. offsetLeft , DOM (, getElementsByTagName) .
, :
var offsetLeft = ul.getElementsByTagName( "li" )[ index ].offsetLeft;
offsetLeft
offsetLeft , , , ? , , offsetLeft , MoveLeft(), 0 ( - )? .
function MoveLeft( px ) {
current_offset -= px;
offsetLeft, , - , offsetLeft , , , offsetLeft.
, ... elms [ "foo" ] ?
, offsetLeft 10 .
, - . , , , :
:
( function () {
var elements = {};
function NeedsRotating() {
...
}
function example() {
var elements;
}
} )();
elements , . . , (, NeedsRotating() ), , .
:
( function () {
var ticker = {};
ticker.elements = {};
ticker.NeedsRotating = function () {
var ul = this.elements.list;
var li = this.elements.list_item;
this.do_something();
} ;
ticker.start();
} )();
, ticker .
, setTimeout :
t = setTimeout( TickerLoop, i );
:
t = setTimeout("TickerLoop();", i);
JS , setTimeout , eval.
setInterval setTimeout.
, , - , setTimeout, ?
. , . setTimeout . :
( function () {
var offset = 100;
var whatever = function () {
console.log( offset );
};
setTimeout( whatever, 10 );
} )();
setTimeout, , this , , . :
( function () {
var ticker = {};
ticker.offset = 100;
ticker.whatever = function () {
console.log( this.offset );
};
setTimeout( ticker.whatever, 10 );
} )();
ticker.whatever, this ticker. :
setTimeout( function () { ticker.whatever(); }, 10 );
i.e. var ticker.SecondLiOffsetLeft = GetListItem(ul, 1).offsetLeft, offsetLeft, .
, ?
:
# 2 , , , . , , .
" DOM", , DOM, . offsetLeft , , .
(, ), , , li . .
this.li = ul.getElementsByTagName( "li" );
, , , :
this.current_item = ###;
this.li.current = this.li[ ### ];
this.li[ this.current_item ].offsetLeft
this.li.current.offsetLeft
, , li :
this.li.push( this.li.shift() );
// then
this.li[0].offsetLeft