轮播图解析
var timerId = null
var timerAuto= null
var n= 0 ;
function $ ( id) {
return document. getElementById ( id) ;
}
function animate ( obj, target) {
clearInterval ( timerId) ;
timerId= setInterval ( function ( ) {
var leader= obj. offsetLeft;
var step = ( target - leader ) / 5 ;
step = step > 0 ? Math. ceil ( step) : Math. floor ( step) ;
leader = leader + step;
obj. style. left = leader + 'px' ;
} , 10 ) ;
}
var buttons = $ ( 'buttons' ) . getElementsByTagName ( 'li' ) ;
for ( var i = 0 ; i < buttons. length; i++ ) {
buttons[ i] . onclick = function ( ) {
for ( var i = 0 ; i < buttons. length; i++ ) {
buttons[ i] . classList. remove ( 'on' ) ;
if ( buttons[ i] == this ) {
n= i;
var tgt = - n* 1226 ;
animate ( $ ( 'listss' ) , tgt) ;
}
}
this . classList. add ( 'on' ) ;
}
}
$ ( 'right' ) . onclick = function ( ) {
if ( n== 5 ) {
$ ( 'listss' ) . style. left = 0 + 'px' ;
n = 0 ;
}
n++ ;
var tgt = - n * 1226 ;
animate ( $ ( 'listss' ) , tgt) ;
for ( var i = 0 ; i < buttons. length; i++ ) {
buttons[ i] . classList. remove ( 'on' ) ;
}
if ( n == 5 ) {
buttons[ 0 ] . classList. add ( 'on' ) ;
} else {
buttons[ n] . classList. add ( 'on' ) ;
}
}
$ ( 'left' ) . onclick = function ( ) {
if ( n== 0 ) {
$ ( 'listss' ) . style. left= - 4904 + 'px' ;
n = 5 ;
}
n-- ;
var tgt = - n * 1226 ;
animate ( $ ( 'listss' ) , tgt) ;
for ( var i = 0 ; i < buttons. length; i++ ) {
buttons[ i] . classList. remove ( 'on' ) ;
}
buttons[ n] . classList. add ( 'on' ) ;
}
timerAuto = setInterval ( function ( ) {
$ ( 'right' ) . onclick ( ) ;
} , 3000 ) ;
$ ( 'lunbo' ) . onmouseover = function ( ) {
clearInterval ( timerAuto) ;
}
$ ( 'lunbo' ) . onmouseout = function ( ) {
timerAuto = setInterval ( function ( ) {
$ ( 'right' ) . onclick ( ) ;
} , 3000 ) ;
}