原生javascript實現圖片輪播效果

來源:互聯網
上載者:User

【執行個體示範】





    前幾天用jquery做了一個JS的圖片輪播效果,現在用原生的javascript代碼實現同樣的功能,當練慣用吧,代碼寫得不是很滿意。看到BlueDream在他部落格上寫的javascript仿QQ滑動菜單的效果,代碼實在是優雅,相比較差別一下就凸顯了,下次再把他代碼的精髓偷過來,嘿嘿。

    【原理簡述】

    html和css跟JQuery實現圖片輪播效果裡面的一樣,略去。主要是幾個公用函數,漸顯和漸失,用閉包實現。至於主體邏輯部分,非常一般。

    【程式源碼】

    貼幾個公用函數算了,fadeIn,漸顯,fadeOut,漸失





    代碼

        function id(name) {return document.getElementById(name);}
    //遍曆函數
    function each(arr, callback) {
    if (arr.forEach) {arr.forEach(callback);}
    else {  for (var i = 0, len = arr.length; i < len; i++) callback.call(this, arr[i], i, arr);}
    }
    function fadeIn(elem) {
    setOpacity(elem, 0)
    for ( var i = 0; i < 20; i++) {
    (function() {
    var pos = i * 5;
    setTimeout(function() {
    setOpacity(elem, pos)
    }, i * 25);
    })(i);
    }
    }
    function fadeOut(elem) {
    for ( var i = 0; i <= 20; i++) {
    (function() {
    var pos = 100 - i * 5;
    setTimeout(function() {
    setOpacity(elem, pos)
    }, i * 25);
    })(i);
    }
    }
    // 設定透明度
    function setOpacity(elem, level) {
    if (elem.filters) {
    elem.style.filter = "alpha(opacity=" + level + ")";
    } else {
    elem.style.opacity = level / 100;
    }
    }


    【調用方法】

    //count:圖片數量,wrapId:包裹圖片的DIV,ulId:按鈕DIV,infoId:資訊列

    babyzone.scroll(count,wrapId,ulId,infoId);

    babyzone.scroll(4,"banner_list","list","banner_info");

    【源碼下載】

    點擊下載

    《原生javascript實現圖片輪播效果》BY 

    橡樹小屋

     from http://www.cnblogs.com/babyzone2004/本文地址:http://www.cnblogs.com/babyzone2004/archive/2010/09/02/1816090.html

    相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.