圖片輪播器——javascript

在網頁中,圖片輪播器用得比較多。

效果圖:

<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <style>
            .d1 {
                width: 443px;
                height: auto;
                overflow: hidden;
                border: #666666 2px solid;
                background-color: #000000;
                position: relative;
            }
            .loading{
                width: 443px;
                border: #666666 2px solid;
                background-color: #000000;
                color: #FFCC00;
                font-size: 12px;
                height: 179px;
                text-align: center;
                padding-top: 30px;
                font-weight: bold;
            }
            .d2 {
                width: 100%;
                height: 209px;
                overflow: hidden;
            }
            .num_list {
                position: absolute;
                width: 100%;
                left: 0px;
                bottom: -1px;
                background-color: #000000;
                color: #FFFFFF;
                font-size: 12px;
                padding: 4px 0px;
                height: 20px;
                overflow: hidden;
            }
            .num_list span {
                display: inline-block;
                height: 16px;
                padding-left: 6px;
            }
            img {
                border: 0px;
            }
            ul {
                display: none;
            }
            .button {
                position: absolute;
                z-index: 1000;
                right: 0px; 
                bottom: 2px; 
                font-size: 13px; 
                font-weight: bold;
            }
            .b1 {
                background-color: #666666;
                display: block;
                float: left;
                padding: 2px 6px;
                margin-right: 3px;
                color: #FFFFFF;
                text-decoration: none;
                cursor: pointer;
            }
            .b2 {
                display: block;
                float: left;
                padding: 2px 6px;
                margin-right: 3px;
                text-decoration: none;
                cursor: pointer;
                color:#FFCC33;
                background-color:#FF6633;
            }
        </style>
        <script language="javascript" type="text/javascript">
            //主函數
            var s=function(){
                var interv=2000; //切換間隔時間
                var interv2=10; //切換速度
                var opac1=80; //文字背景的透明度
                var source="show" //焦點輪換圖片容器的id名稱
                //獲取對象
                function getTag(tag,obj){
                    if(obj==null){
                        return document.getElementsByTagName(tag);
                    }else{
                        return obj.getElementsByTagName(tag);
                    }
                }
                function getid(id){
                    return document.getElementById(id);
                };
                var opac=0,j=0,t=63,num,scton=0,timer,timer2,timer3;
                var id=getid(source);
                id.removeChild(getTag("div",id)[0]);
                var li=getTag("li",id);
                var div=document.createElement("div");
                var title=document.createElement("div");
                var span=document.createElement("span");
                var button=document.createElement("div");
                button.className="button";
                for(var i=0;i<li.length;i++){
                    var a=document.createElement("a");
                    a.innerHTML=i+1;
                    a.οnclick=function(){
                        clearTimeout(timer);
                        clearTimeout(timer2);
                        clearTimeout(timer3);
                        j=parseInt(this.innerHTML)-1;
                        scton=0;
                        t=63;
                        opac=0;
                        fadeon();
                    };
                    a.className="b1";
                    a.οnmοuseοver=function(){
                        this.className="b2";
                    };
                    a.οnmοuseοut=function(){
                        this.className="b1";sc(j);
                    };
                    button.appendChild(a);
                }
                //控制圖層透明度
                function alpha(obj,n){
                    if(document.all){
                        obj.style.filter="alpha(opacity="+n+")";
                    }else{
                        obj.style.opacity=(n/100);
                    }
                }
                //控制焦點按鈕
                function sc(n){
                    for(var i=0;i<li.length;i++){
                        button.childNodes[i].className="b1";
                    };
                    button.childNodes[n].className="b2";
                }
                title.className="num_list";
                title.appendChild(span);
                alpha(title,opac1);
                id.className="d1";
                div.className="d2";
                id.appendChild(div);
                id.appendChild(title);
                id.appendChild(button);
                //漸顯
                var fadeon=function(){
                    opac+=5;
                    div.innerHTML=li[j].innerHTML;
                    span.innerHTML=getTag("img",li[j])[0].alt;
                    alpha(div,opac);
                    if(scton==0){
                        sc(j);
                        num=-2;
                        scrolltxt();
                        scton=1;
                    };
                    if(opac<100){
                        timer=setTimeout(fadeon,interv2);
                    }else{
                        timer2=setTimeout(fadeout,interv);
                    }
                };
                //漸隱
                var fadeout=function(){
                    opac-=5;
                    div.innerHTML=li[j].innerHTML;
                    alpha(div,opac);
                    if(scton==0){
                        num=2;
                        scrolltxt();
                        scton=1;
                    }
                    if(opac>0){
                        timer=setTimeout(fadeout,interv2);
                    }else{
                        if(j<li.length-1){
                            j++;
                        }else{
                        j=0;
                        }
                        fadeon();
                    }
                };
                //滾動文字
                var scrolltxt=function(){
                    t+=num;
                    span.style.marginTop=t+"px";
                    if(num<0 && t>3){
                        timer3=setTimeout(scrolltxt,interv2);
                    }else if(num>0 && t<62){
                        timer3=setTimeout(scrolltxt,interv2);
                    }else{
                        scton=0
                    }
                };
                fadeon();
            }
            //初始化
            window.οnlοad=s;
        </script>
        <title>圖片幻燈效果</title>
    </head>
    <body>
        <div id="show">
            <div class="loading">Loading...<br /><img src="./images/01.jpg" width="100" height="100" /></div>
            <ul>
                <li><a href="article/1" target="_blank"><img src="./images/01.jpg" width="443" height="209" alt="展示圖片1" /></a></li>
                <li><a href="article/2" target="_blank"><img src="./images/02.jpg" width="443" height="209" alt="展示圖片2" /></a></li>
                <li><a href="article/3" target="_blank"><img src="./images/03.jpg" width="443" height="209" alt="展示圖片3" /></a></li>
                <li><a href="article/4" target="_blank"><img src="./images/04.jpg" width="443" height="209" alt="展示圖片4" /></a></li>
            </ul>
        </div>
    </body>
</html>

轉自互聯網

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章