原生js代码制作首页按钮控制焦点图片滚动



139 554 185



特效描述:原生js 按钮控制 焦点图片滚动,原生js代码制作首页按钮控制焦点图片滚动

代码结构

1. HTML代码

	<div id="outer">
		<ul id="inner">
			<li><img src="images/11.jpg" width="800" height="300" alt=" "></li>
			<li><img src="images/22.jpg" width="800" height="300" alt=" "></li>
			<li><img src="images/33.jpg" width="800" height="300" alt=" "></li>
			<li><img src="images/44.jpg" width="800" height="300" alt=" "></li>
			<li><img src="images/55.jpg" width="800" height="300" alt=" "></li>
			<li><img src="images/11.jpg" width="800" height="300" alt=" "></li>
		</ul>
		<div id="left">L</div>
		<div id="right">R</div>
	</div>
	<script type="text/javascript">
    var outer=document.getElementById("outer");
    var oInner=document.getElementById("inner");
    var oLis=oInner.getElementsByTagName("li");
    var oleft=document.getElementById("left");
    var oright=document.getElementById("right");
    var step=0;
    var timer=null;
    function buttur(ele,obj){
    	window.clearTimeout(ele.timer);
    	var end=null;
    	for(direc in obj){
    		var direc1=direc.toLowerCase();
    		var strOffset="offset"+direc1.substr(0,1).toUpperCase()+direc1.substring(1).toLowerCase();
    		var target=obj[direc];
    		var nSpeed=(target-ele[strOffset])/10;
    		nSpeed=nSpeed>=0?Math.ceil(nSpeed):Math.floor(nSpeed);
    		ele.style[direc1]=ele[strOffset]+nSpeed+"px";
    		end+=nSpeed;
    	}
    	if(end)
    		if(typeof fnCallback=="function"){
    			fnCallback.call(ele);
    		}else{
            ele.timer=window.setTimeout(function(){buttur(ele,obj)},30);
    		}
    }
    var divs=document.createElement("div");
    divs.setAttribute("id","nav");
    for(var i=0; i<oLis.length;i++){
        var oa=document.createElement("em");
        oa.innerHTML=i+1;
        divs.appendChild(oa);
    }
    outer.appendChild(divs);
    var btn=document.getElementById("nav").getElementsByTagName("em");
    for(var i=0; i<btn.length; i++){
        btn[i].indx=i;
        btn[0].className="ehover";
        btn[i].onclick=function(){
            //window.clearTimeout(timer);
            for(var i=0; i<btn.length; i++){
                btn[i].className="";
                btn[this.indx].className="ehover";
            }
            buttur(oInner,{left:-oLis[0].offsetWidth*this.indx}); 
        }    
    }
    function autoMove(){
     	step++;
    	if(step<btn.length){
             for(var i=0; i<btn.length; i++){
                btn[i].className="";
                btn[step].className="ehover";
                buttur(oInner,{left:step*-800});
            }           
    	 }else{ 
                step=btn.length-7;        
         }
     	timer=window.setTimeout(autoMove,3000);
    }
    autoMove(); 
    oleft.onclick=function(){
    	window.clearTimeout(timer);
    	step++;
    	if(step<btn.length){
             for(var i=0; i<btn.length; i++){
                btn[i].className="";
                btn[step].className="ehover";
                buttur(oInner,{left:step*-800});
            }           
         }else{ 
                step=btn.length-7;        
         }
     }
    oright.onclick=function(){
    	window.clearTimeout(timer);
    	step--;
    	if(step<0){
             step=btn.length;
         }else{ 
            for(var i=0; i<btn.length; i++){
                btn[i].className="";
                btn[step].className="ehover";
                buttur(oInner,{left:step*-800}); 
            }
         }
    }
   oInner.onmouseover=function(){window.clearTimeout(timer);}
   oInner.onmouseout=function(){timer=window.setTimeout(autoMove,3000);}
   oleft.onmouseover=function(){window.clearTimeout(timer);}
   oleft.onmouseout=function(){timer=window.setTimeout(autoMove,3000);}
   oright.onmouseover=function(){window.clearTimeout(timer);}
   oright.onmouseout=function(){timer=window.setTimeout(autoMove,3000);} 
	</script>	



用户评论
大牛,别默默的看了,快登录帮我点评一下吧!:)      登录 | 注册


热门标签: 滚动 滚动切换 滑动选项卡切换 flash焦点图 自动滚动图片轮播 选项卡切换 滑动手风琴 切换按钮 表单 焦点图 幻灯片 图片轮播 图片滚动 图片轮播 自动滚动图片轮播 选项卡自动切换 按钮控制

×
×

注册

官方QQ群

扫描上面二维码加微信群

官方QQ群

jQuery/js讨论群
群号:642649996
Css3+Html5讨论群
群号:322131262

加群请备注:从官网了解到