如图,所示的轮播,不但要切换大的背景图,还有文字及其它一些图片,也要动画显示。 
当然,这个效果的实现,网上有类似的插件. 不过,也可以自己写出来. 下面我们就一起来看看。燥起来吧!!! 
第一步: 
        大家暂时不要考虑动态这些的,就是把要轮播的页面及内容,全部显示出来. 
        ( 注:轮播一般也称幻灯片播放,下面,我们就把每一次图片的切换,称为幻灯片的切换,每一张幻灯片就用一个LI来实现,而每个幻灯片里还可以包含其它信息,文字,图片都可以,将它们用div包起来,然后,用class来指定样式,让它显示到对应的位置 ) 
       如下: 
        HTML代码: 
 
<ul> 
    <li thumb="img/wide1.jpg">  
       <div class="li1sub1"><img src="img/rb.png"/></div>  
       <div class="li1sub2"><img src="img/inspira.png"/></div> 
       <div class="li1sub3">my name is doubleyong</div> 
       <div class="li1sub4"><a href="#">purcharse</a> </div> 
   </li> 
 </ul> 
 
     第二步:将每一张幻灯片的背景显示出来 
       这里不需要将每个幻灯片添加样式,通过在li上添加thumb属性来指定背景图片的地址,然后通过JS来添加背景图片 
       代码如下(JS): 
      var liarr = document.getElementById("banner").getElementsByTagName("li"); 
 for(var i=0;i<liarr.length;i++){  
      var imgSrc= liarr.getAttribute("thumb"); liarr.style.backgroundImage=‘url(‘+imgSrc+‘)‘; 
   } 
 第三步,就可以来做幻灯片的切换 
 1. 定义两个全局变量 
 var timerArr= []; // 存储定时器的数据,每一张幻灯片各种动画的定时器对象 
   var currentSolid = 0; //当前显示的幻灯片,从0开始数 
    2. 显示第几张幻灯片调用的方法 
 //显示第几张幻灯片,num为显示的幻灯片数字,从0开始计算 
    function current(num){  
     hide();     //先把所有的幻灯片隐藏 
     clearTimer();  //清空之前的所有定时器  
     liarr[num].style.display="block";   //将要显示的那张幻灯片显示出来  
 
    // 上面,实现了显示了大的背景图片切换,但除此这外还有其它的内容,并且,还有动效,那如何来完成? 
    // 重点分析:动效,其它就是开始是一个样式,最终是另一个样式,然后,在样式的改变过程中,加上过渡效果即可 
   //  最终一个样式,已经通过class来进行了定义,下面只需要设置,每一张幻灯片里的子元素的开始样式就好,即如何设置? 
   // 通过在标签添加属性的方式来实现  
 
   var childArr = liarr[num].getElementsByTagName("div"); 
   for(var i =0 ;i<childArr.length;i++){ 
    childArr.style.top = childArr.getAttribute("data-y")+"px";   //设置元素的开始位置,在元素中的属性获得  
    childArr.style.left = childArr.getAttribute("data-x")+"px";  //设置元素的开始位置,在元素的属性中获得  
//注:这里很多的值,来源于元素的属性,所以,HTML代码中,将会进行一些添加,加上需要的数据, 详细查看后面HTML修改后   
    childArr.style.opacity = 0;  
    var startTime =childArr.getAttribute("data-start"); //开始时间,也是在属性中设置 
      //注:此setTimeout 实现了传递参数,详情参考:http://bugshouji.com/shareweb/t84-1 
      var timer =setTimeout(annimal(childArr),parseInt(startTime));    
      //添加定时器,在指定时添加指定方法,只调一次  
      timerArr.push(timer); //将定时器放到数组中 
    } 
   } 
//执行动画效果的方法 
function annimal(ele){ 
 return function(){ //返回一个函数,让setTimeout执行 
        var speed = ele.getAttribute("data-speed")/1000; //得到动态时间,在元素属性中获得 
       ele.style.transition = "all "+speed+"s linear"; //添加过渡效果  
       ele.style.opacity = 1; 
       ele.style.top="";   
       ele.style.left="";  
 
  //注,上面这两个清空,不是简单的清空了样式里的值,因为style是行内样式,指定时它的优先级高于class, 
 //这时会应用style里的样式,而我们清空样式里设置的值,这里就将应用class里设置的值 
 //这就是一个亮点,通过style属性的设置,来达到两种不同样式的应用  
 } 
} 
  // 隐藏所有的幻灯片 
 function hide(){  
    for(var i=0;i<liarr.length;i++){ 
        liarr.style.display="none"; 
    } 
  } 
//清空之前的所有定时器 
function clearTimer(){ 
 for(var i=0;i<timerArr.length;i++){ 
       clearTimeout(timerArr); 
    } 
    timerArr.length=0; 
} 
    
     因,上面的方法,需要在HTML中设置相关的一些属性,所以,HTML做了以下修改,如下: 
     <li thumb="img/wide1.jpg"> 
 <div class="li1sub1" data-x="-100" data-y="50" data-speed="300" data-start="300"><img src="img/rb.png"/></div> 
        <div class="li1sub2" data-x="350" data-y="-50" data-speed="300" data-start="800"><img src="img/inspira.png"/></div> 
        <div class="li1sub3" data-x="350" data-y="-50" data-speed="500" data-start="1200">my name is doubleyong</div> 
        <div class="li1sub4" data-x="350" data-y="-50" data-speed="800" data-start="1500"><a href="#">purcharse</a> </div> 
    </li> 
<span "="" color:#548dd4=""> (有多少张,就添加多少项,里面的内容也可以设置多个,注:按钮相应的要求来指定开始位置; js代码就不能修改,只需要在HTML添加对应的元素即可). 
 
<li thumb="img/wide1.jpg"> 
        <div class="li1sub1" data-x="-100" data-y="50" data-speed="300" data-start="300"><img src="img/rb.png"/></div> 
        <div class="li1sub2" data-x="350" data-y="-50" data-speed="300" data-start="800"><img src="img/inspira.png"/></div> 
        <div class="li1sub3" data-x="350" data-y="-50" data-speed="500" data-start="1200">my name is doubleyong</div> 
        <div class="li1sub4" data-x="350" data-y="-50" data-speed="800" data-start="1500"><a href="#">purcharse</a> </div> 
    </li> 
    <li thumb="img/wide2.jpg"> 
        <div class="li1sub1" data-x="-100" data-y="50" data-speed="300" data-start="300"><img src="img/lightweight.png"/></div> 
        <div class="li1sub2" data-x="350" data-y="-50" data-speed="300" data-start="800"><img src="img/macbook.png"/></div> 
        <div class="li1sub3" data-x="350" data-y="-50" data-speed="500" data-start="1200">哇,动效出来了,好开心</div> 
        <div class="li1sub4" data-x="350" data-y="-50" data-speed="800" data-start="1500"><a href="#">开心</a> </div> 
    </li> 
    <li thumb="img/wide3.jpg"> 
        <div class="li1sub1" data-x="-100" data-y="50" data-speed="300" data-start="300"><img src="img/rm.png"/></div> 
        <div class="li1sub2" data-x="350" data-y="-50" data-speed="300" data-start="800"><img src="img/bootstrap.png"/></div> 
        <div class="li1sub3" data-x="350" data-y="-50" data-speed="500" data-start="1200">Bang bang bang</div> 
        <div class="li1sub4" data-x="350" data-y="-50" data-speed="800" data-start="1500"><a href="#">嗨起来</a> </div> 
    </li>	 
 
摘选自:http://www.bugshouji.com/zhuopingweb/t85