Js-焦點(diǎn)輪播圖

  • HTML部分:
<div class="all" id="all">
    <div class="top">
        <div class="main" id="main">
            <div class="main-img">
                <a href="">
                    ![](../images/1.jpeg)
                </a>
            </div>
            <div class="main-img">
                <a href="">
                    ![](../images/2.jpeg)
                </a>
            </div>
            <div class="main-img">
                <a href="">
                    ![](../images/3.jpeg)
                </a>
            </div>
            <div class="main-img">
                <a href="">
                    ![](../images/4.jpeg)
                </a>
            </div>
            <div class="main-img">
                <a href="">
                    ![](../images/5.jpeg)
                </a>
            </div>
            <div class="main-img">
                <a href="">
                    ![](../images/6.jpeg)
                </a>
            </div>
        </div>
    </div>
    <div class="bottom" id="bottom">
        <span id="left" class="left"></span>
        <!--<span class="icon"></span>-->
        <!--<span class="icon"></span>-->
        <!--<span class="icon"></span>-->
        <!--<span class="icon"></span>-->
        <!--<span class="icon"></span>-->
        <!--<span class="icon"></span>-->
        <span id="right" class="right"></span>
    </div>
</div>
  • CSS部分:
 *{
       margin:0;
       padding:0;
       border:none;
       }
        .all{
            width: 310px;
            height: 260px;
            position: relative;
            margin: 100px auto;
            overflow: hidden;
        }
        .top{
            width: 310px;
            height: 220px;
        }
        .main-img{
            position: absolute;
            width: 310px;
            height: 220px;
        }
        .main-img img{
            width: 100%;
            height: 100%;
        }
        .bottom{
            text-align: center;
        }
        .left,.right{
            width: 20px;
            height: 34px;
            position: absolute;
            top:50%;
            margin-top: -34px;
            background: url(../images/icon.png);
        }
        .left{
            background-position:0 0;
            left: 0;
        }
        .right{
            background-position:-9px -45px;
            right: 0;
        }
        .icon{
            width: 20px;
            height: 5px;
            background: url(../images/icon.png) -24px -790px;
            display: inline-block;
            margin:5px;
            text-indent: 20em;
        }
       .curr{
           background-position: 0 -770px;
       }
  • JS部分:
 window.onload = function () {
        var all = document.getElementById('all');
        var main = document.getElementById('main');
        var bottom = document.getElementById('bottom');
        var pics = main.children;
        var allW = all.offsetWidth;
        var iNow = 0 ;
        //動(dòng)態(tài)添加span
        for(var i=0;i<pics.length;i++){
            var mySpan = document.createElement("span");
            mySpan.className = "icon";
            mySpan.innerHTML = pics.length-i;
            bottom.insertBefore(mySpan,bottom.children[1])
        }
        bottom.children[1].className = "icon curr";
        for(var i=1;i<pics.length;i++){
            pics[i].style.left =allW + "px";
        }
        for(var i=0;i< bottom.children.length;i++){
            var mySpan = bottom.children[i];
            mySpan.onclick = function () {
                if(this.className == "left"){
                buffer(pics[iNow],{left:allW});
                    iNow--;
//                    alert(iNow);
                    if(iNow<0){
                        iNow = pics.length-1;
                    }
                    pics[iNow].style.left = -allW+"px";
                    buffer(pics[iNow],{left:0})
                }
                else if(this.className == "right"){
                    buffer(pics[iNow],{left:-allW});
                    iNow++;
                    if(iNow>pics.length-1){
                        iNow = 0;
                    }
                    pics[iNow].style.left = allW+"px";
                    buffer(pics[iNow],{left:0})
                }
 else{
                        var index = this.innerHTML -1;
                    if(index>iNow){
                        buffer(pics[iNow], {left: -allW});
                        iNow = index;
                        pics[iNow].style.left = allW+"px";
                        buffer(pics[iNow],{left:0})
                    }else if(index<iNow){
                        buffer(pics[iNow], {left: allW});
                        iNow = index;
                        pics[iNow].style.left = -allW+"px";
                        buffer(pics[iNow],{left:0})
                    }
                }
            change();
            }
        }
//排他思想變span的顏色
function change(){
    for(var i= 1;i<bottom.children.length-1;i++){
        bottom.children[i].className = "icon";
    }
    //小span的角標(biāo)是從1開始的所以記錄當(dāng)前顯示第幾章圖片的iNow需要加1//
bottom.children[iNow+1].className = "icon curr";
}
        //用定時(shí)自動(dòng)循環(huán)
        var  timer = setInterval(go,1000)
        function go(){
            //自動(dòng)循環(huán)就是相當(dāng)于點(diǎn)擊了右鍵
            buffer(pics[iNow],{left:-allW});
            iNow++;
            if(iNow>pics.length-1){
                iNow = 0;
            }
            pics[iNow].style.left = allW+"px";
            buffer(pics[iNow],{left:0})
            //調(diào)用排他思想變換顏色的函數(shù)
            change();
        }
        //當(dāng)移動(dòng)到slider上的時(shí)候停止定時(shí)器,移開的時(shí)候開啟定時(shí)器//
        all.onmouseover = function () {
            clearInterval(timer);
        }
        all.onmouseout = function () {
            timer = setInterval(go,1000);
        }

    }
  • 動(dòng)畫封裝到了JS里面,需要用js庫。
<script src="../MyFn.js"></script>
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 各種純css圖標(biāo) CSS3可以實(shí)現(xiàn)很多漂亮的圖形,我收集了32種圖形,在下面列出。直接用CSS3畫出這些圖形,要比...
    劍殘閱讀 9,977評論 0 8
  • 1、垂直對齊 如果你用CSS,則你會有困惑:我該怎么垂直對齊容器中的元素?現(xiàn)在,利用CSS3的Transform,...
    kiddings閱讀 3,289評論 0 11
  • W3C標(biāo)準(zhǔn)中對css3的transition這是樣描述的:“css的transition允許css的屬性值在一定的...
    青春前行閱讀 1,538評論 0 5
  • 01 周末,和妻散步在小區(qū)的步道上。兩側(cè)的花壇里,幾株矮壯的杜鵑花正悄然盛開。鮮紅的花朵,雖然不多,但在這初夏的濃...
    春之原野閱讀 1,303評論 20 14
  • 今天寶寶午睡醒來,看她心情很好,我們繼續(xù)在床上玩了一會,我起來對她說,媽媽拿塊尿不濕給你換。剛下床,她就開始大哭起...
    提著鞋子的貓閱讀 308評論 0 0

友情鏈接更多精彩內(nèi)容