A good picture switching effect that can be used to discuss automatic playback with cache effect. You may want to know more about it.
The Code is as follows: |
Copy code |
<! DOCTYPE html PUBLIC "-// W3C // dtd xhtml 1.0 Transitional // EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <Html xmlns = "http://www.w3.org/1999/xhtml"> <Head> <Meta http-equiv = "Content-Type" content = "text/html; charset = UTF-8"/> <Title> automatic playback-slide Buffer Effect </title> <Style> Body, div, ul, li {margin: 0; padding: 0 ;} Ul {list-style-type: none ;} Body {background: #000; text-align: center; font: 12px/20px Arial ;} # Box {position: relative; width: pixel PX; height: 172px; background: # fff; border-radius: 5px; border: 8px solid # fff; margin: 10px auto; cursor: pointer ;} # Box. list {position: relative; width: 490px; height: 170px; overflow: hidden ;} # Box. list ul {position: absolute; top: 0; left: 0 ;} # Box. list li {width: 490px; height: 170px; overflow: hidden ;} # Box. count {position: absolute; right: 0; bottom: 5px ;} # Box. count li {color: # fff; float: left; width: 20px; height: 20px; cursor: pointer; margin-right: 5px; overflow: hidden; background: # F90; opacity: 0.7; filter: alpha (opacity = 70); border-radius: 20px ;} # Box. count li. current {color: # fff; opacity: 1; filter: alpha (opacity = 100); font-weight: 700; background: # f60 ;} # Tmp {width: 100px; height: 100px; background: red; position: absolute ;} </Style> <Script type = "text/javascript"> Window. onload = function () { Var oBox = document. getElementById ("box "); Var oList = oBox. getElementsByTagName ("ul") [0]; Var aImg = oBox. getElementsByTagName ("img "); Var timer = playTimer = null; Var index = I = 0; Var bOrder = true; Var aTmp = []; Var aBtn = null; // Generate a number button For (I = 0; I <aImg. length; I ++) aTmp. push ("<li>" + (I + 1) + "</li> "); // Insert element Var oCount = document. createElement ("ul "); OCount. className = "count "; OCount. innerHTML = aTmp. join (""); OBox. appendChild (oCount ); ABtn = oBox. getElementsByTagName ("ul") [1]. getElementsByTagName ("li "); // Initialization status Cutover (); // Click the button to switch For (I = 0; I <aBtn. length; I ++) { ABtn [I]. index = I; ABtn [I]. onmouseover = function () { Index = this. index; Cutover () } } Function cutover () { For (I = 0; I <aBtn. length; I ++) aBtn [I]. className = ""; ABtn [index]. className = "current "; StartMove (-(index * aImg [0]. offsetHeight )) } Function next () { BOrder? Index ++: index --; Index <= 0 & (index = 0, bOrder = true ); Index> = aBtn. length-1 & (index = aBtn. length-1, bOrder = false) Cutover () } PlayTimer = setInterval (next, 3000 ); // Move the cursor to the display area to stop automatic playback OBox. onmouseover = function () { ClearInterval (playTimer) }; // Move the mouse away from the display area to start automatic playback OBox. onmouseout = function () { PlayTimer = setInterval (next, 3000) }; Function startMove (iTarget) { ClearInterval (timer ); Timer = setInterval (function () { DoMove (iTarget) }, 30) } Function doMove (iTarget) { Var iSpeed = (iTarget-oList. offsetTop)/10; ISpeed = iSpeed> 0? Math. ceil (iSpeed): Math. floor (iSpeed ); OList. offsetTop = iTarget? ClearInterval (timer): oList. style. top = oList. offsetTop + iSpeed + "px" } }; </Script> </Head> <Body> <Div id = "box"> <Div class = "list"> <Ul> <Li> </li> <Li> </li> <Li> </li> <Li> </li> <Li> </li> </Ul> </Div> </Div> </Body> |