利用TweenMax針對HTML頁面製作動畫 – jQuery Mobile篇

在Dreamweaver5.5之後多了一個jQuery Mobile面板,主要是利用jQuery來製作一些行動裝置的元素,接下來這篇文章就利用Dreamweaver提供的幾項元素加上TweenMax來製作手機動畫頁面。

因為這篇文章應用到的動畫功能,依舊和前兩篇差不多,所以就直接看範例吧!首先,第一個範例是利用「jQuery 翻轉切換開關」來控制動畫的播放,除了可以從前面的連結看到這個範例之外,也因為這是特別針對行動裝置所設計的案例,大家也可以在手機輸入「goo.gl/LofiK」網址來觀賞,下面是本範例整個網頁的程式碼:

<!doctype html>
<html>
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalabke=no, width=device-width" />
    <title>貓咪欣賞</title>
    <link href="jquery-mobile/jquery.mobile-1.0.min.css" rel="stylesheet" type="text/css">
    <script src="jquery-mobile/jquery-1.6.4.min.js" type="text/javascript"></script>
    <script src="jquery-mobile/jquery.mobile-1.0.min.js" type="text/javascript"></script>
    <script src="src/minified/TweenMax.min.js"></script>
    <style type="text/css">
        * {
            margin: 0px;
            padding: 0px;
        }

        #photo {
            text-align: center;
        }

        #selector {
            text-align: center;
            width: 50%;
            margin-left: auto;
            margin-right: auto;
        }
    </style>
    <script language="javascript">
        var playNo = 1; /* 定義目前播放張數變數 */
        function photoPlay() {
            var controler = document.getElementById("flipswitch");
            if (controler.options[controler.selectedIndex].value == "on") {
                clock = setInterval(timer, 5000);
            } else {
                clearInterval(clock);
            } /* 設定每五秒執行timer函數 */
            function timer() {
                var pic = document.getElementById("photo"); /* 利用pic紀錄畫面中ID為photo的元素 */
                playNo++; /* 增加張數 */
                if (playNo > 19) {
                    playNo = 1;
                } /* 設定超過圖片張數後從頭播放 */
                TweenMax.to(pic, 1, {
                    css: {
                        alpha: 0
                    },
                    ease: Expo.easeIn,
                    onComplete: function () {
                        pic.innerHTML = "<img src=photo/photo" + playNo + ".jpg width=300 height=200>";
                        TweenMax.to(pic, 1, {
                            css: {
                                alpha: 1
                            },
                            ease: Expo.easeOut
                        });
                    }
                });
            }
        }
    </script>
</head>
<body onLoad="photoPlay()">
    <div data-role="page" id="page">
        <div data-role="header">
            <h1>貓咪欣賞</h1>
        </div>
        <div data-role="content">
            <div id="photo"><img src="photo/photo1.jpg"></div>
            <div data-role="fieldcontain" id="selector"> <select name="flipswitch" id="flipswitch"
                    onChange="photoPlay()" data-role="slider">
                    <option value="off">關閉</option>
                    <option value="on" selected>開啟</option>
                </select> </div>
        </div>
        <div data-role="footer">
            <h4>©2012 Copyright Stanley Ma Cloud Research.</h4>
        </div>
    </div>
</body>
</html>

接下來的第二個範例在程式上面會比較複雜,因為想要加強上一個範例的互動性,所以在同樣的範例上面增加「上一張」、「下一張」與「播放控制」的功能,可在手機輸入「goo.gl/GyAVt」網址觀賞,如果你仔細看的話,會發現這個範例中呼叫網頁元素的語法有改變,其實既然是利用jQuery來製作,本來就可以利用jQuery所提供呼叫網頁元素的指令來製作會比較方便,總之是因為有了下面這行語法,才可以利用這種方式來呼叫的喔!

<script src="jquery-mobile/jquery-1.6.4.min.js" type="text/javascript"></script>

下面是本範例整個網頁的程式碼:

<!doctype html>
<html>
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalabke=no, width=device-width" />
    <title>貓咪欣賞</title>
    <style type="text/css">
        * {
            margin: 0px;
            padding: 0px;
        }

        #photo {
            text-align: center;
        }

        #selector {
            text-align: center;
            width: 50%;
            margin-left: auto;
            margin-right: auto;
        }

        #count {
            text-align: center;
            width: 50%;
            margin-left: auto;
            margin-right: auto;
            font-size: 12px;
        }
    </style>
    <link href="jquery-mobile/jquery.mobile-1.0.min.css" rel="stylesheet" type="text/css">
    <script src="jquery-mobile/jquery-1.6.4.min.js" type="text/javascript"></script>
    <script src="jquery-mobile/jquery.mobile-1.0.min.js" type="text/javascript"></script>
    <script src="src/minified/TweenMax.min.js"></script>
    <script language="javascript">
        var playing = 1; /* 偵測目前是否為播放中的變數(1為播放0為暫停) */
        var playNo = 1; /* 定義目前播放張數變數 */ /* 執行計時器 */
        function photoPlay() {
            clock = setInterval(timer, 5000);
        } /* 計時執行函數 */
        function timer() {
            playNo++; /* 增加張數 */
            checkPlayNo() /* 呼叫檢查張數是否有誤的函數 */ photoSlide(); /* 呼叫動畫切換照片的函數 */
        } /* 動畫切換照片的函數 */
        function photoSlide() {
            var pic = $("#photo"); /* 利用pic紀錄畫面中ID為photo的元素 */
            TweenMax.to(pic, 0.5, {
                css: {
                    alpha: 0
                },
                ease: Expo.easeIn,
                onComplete: function () {
                    pic.html("<img src=photo/photo" + playNo + ".jpg width=300 height=200>");
                    TweenMax.to(pic, 1, {
                        css: {
                            alpha: 1
                        },
                        ease: Expo.easeOut
                    });
                }
            });
            $("#count").html(playNo + " / 19"); /* 更換顯示張數的文字 */
        } /* 檢查張數是否有誤的函數 */
        function checkPlayNo() {
            if (playNo > 19) {
                playNo = 1;
            } else if (playNo < 1) {
                playNo = 19;
            }
        } /* 前往上一張的函數 */
        function prevFn() {
            clearInterval(clock);
            playNo--;
            checkPlayNo() photoSlide();
            photoPlay();
        } /* 前往下一張的函數 */
        function nextFn() {
            clearInterval(clock);
            playNo++;
            checkPlayNo() photoSlide();
            photoPlay();
        } /* 播放控制函數 */
        function controlFn() {
            if (playing == 1) {
                playing = 0;
                $("#controlBtn").html("播放") clearInterval(clock);
            } else if (playing == 0) {
                playing = 1;
                $("#controlBtn").html("暫停") clock = setInterval(timer, 5000);
            }
        }
    </script>
</head>
<body onLoad="photoPlay()">
    <div data-role="page" id="page">
        <div data-role="header">
            <h1>貓咪欣賞</h1>
        </div>
        <div data-role="content">
            <div id="photo"><img src="photo/photo1.jpg"></div>
            <div data-role="controlgroup" data-type="horizontal" id="selector"><a href="#" data-role="button"
                    id="prevBtn" onClick="prevFn()">上一張</a><a href="#" data-role="button" onClick="controlFn()"><label
                        id="controlBtn">暫停</label></a><a href="#" data-role="button" onClick="nextFn()">下一張</a></div>
            <div id="count">1 / 19</div>
        </div>
        <div data-role="footer">
            <h4>©2012 Copyright Stanley Ma Cloud Research.</h4>
        </div>
    </div>
</body>
</html>

希望大家看過這幾篇「利用TweenMax針對HTML頁面製作動畫」的範例之後,可以更順利的創作出自己的網頁。

You may also like...

242,719 Responses

  1. Cyberlix表示:

    Круглосуточная запись на онлайн-консультацию психолога. Получить КОНСУЛЬТАЦИЮ и ПОДДЕРЖКУ профессиональных психологов. Чат психологической поддержки.

  2. Tylerblulk表示:

    vibracion de motor
    Dispositivos de calibración: fundamental para el operación uniforme y productivo de las máquinas.

    En el entorno de la innovación actual, donde la efectividad y la confiabilidad del equipo son de gran relevancia, los sistemas de balanceo juegan un papel crucial. Estos aparatos dedicados están diseñados para calibrar y estabilizar componentes rotativas, ya sea en dispositivos industrial, automóviles de traslado o incluso en equipos de uso diario.

    Para los expertos en conservación de aparatos y los profesionales, trabajar con equipos de equilibrado es esencial para promover el desempeño uniforme y fiable de cualquier sistema móvil. Gracias a estas alternativas modernas innovadoras, es posible limitar notablemente las sacudidas, el zumbido y la presión sobre los soportes, mejorando la tiempo de servicio de partes valiosos.

    Igualmente significativo es el papel que tienen los aparatos de equilibrado en la atención al usuario. El soporte especializado y el soporte constante aplicando estos sistemas habilitan brindar prestaciones de alta nivel, incrementando la satisfacción de los usuarios.

    Para los responsables de emprendimientos, la contribución en equipos de balanceo y sensores puede ser esencial para optimizar la productividad y productividad de sus equipos. Esto es sobre todo significativo para los inversores que manejan reducidas y intermedias empresas, donde cada elemento cuenta.

    Asimismo, los dispositivos de calibración tienen una vasta utilización en el sector de la protección y el gestión de nivel. Habilitan localizar potenciales problemas, previniendo intervenciones elevadas y daños a los aparatos. Más aún, los información generados de estos sistemas pueden aplicarse para perfeccionar sistemas y aumentar la reconocimiento en plataformas de investigación.

    Las zonas de uso de los dispositivos de balanceo incluyen variadas sectores, desde la elaboración de ciclos hasta el control ambiental. No influye si se trata de enormes fabricaciones industriales o reducidos talleres domésticos, los equipos de calibración son esenciales para promover un rendimiento óptimo y sin fallos.

  3. Moneylon表示:

    Психолог помогающий искать решения в непростых психологических ситуациях. Психолог помогающий искать решения в непростых психологических ситуациях. Психолог в телеграм.

  4. Jacobbep表示:

    Pharmacie Internationale en ligne https://tadalafilmeilleurprix.shop/# trouver un mГ©dicament en pharmacie

  5. Catteb表示:

    Чат с психологом в телеге. Психолог онлайн анонимно. Психолог помогающий искать решения в непростых психологических ситуациях.

  6. pincoazFelve表示:

    Pinco kazinosu ən yaxşı oyun təcrübəsi təqdim edir | Pinco AZ-də mərc etmək asan və rahatdır pinco | Pinco kazino müştərilərinə fərdi bonuslar təqdim edir | Pinco kazinosunda sürətli və etibarlı ödənişlərdən istifadə edin [url=https://pinco-azerbaycan.website.yandexcloud.net/]Pinco kazino mobil versiyası[/url] .

  7. Richardprurf表示:

    https://tadalafilmeilleurprix.shop/# Pharmacie en ligne livraison Europe
    pharmacie en ligne livraison europe

  8. Perryzoozy表示:

    pharmacie en ligne avec ordonnance kamagra oral jelly pharmacie en ligne

  9. WilsonVah表示:

    SildГ©nafil 100 mg sans ordonnance: viagra en ligne – Viagra sans ordonnance livraison 24h

  10. NorbertKep表示:

    Viagra vente libre pays: Viagra pharmacie – Viagra homme prix en pharmacie

  11. Perryzoozy表示:

    SildГ©nafil 100 mg sans ordonnance Viagra pharmacie Viagra pas cher paris

  12. NorbertKep表示:

    pharmacie en ligne pas cher: kamagra gel – pharmacie en ligne livraison europe

  13. Jacobbep表示:

    pharmacie en ligne livraison europe https://kamagrameilleurprix.shop/# п»їpharmacie en ligne france

  14. WilsonVah表示:

    pharmacie en ligne france livraison internationale: Cialis sans ordonnance 24h – Pharmacie sans ordonnance

  15. Catjxo表示:

    Получить КОНСУЛЬТАЦИЮ и ПОДДЕРЖКУ профессиональных психологов. Психолог оказывает помощь онлайн в чате. В переписке у психолога.

  16. Ironrmg表示:

    Чат с психологом в телеге. Получить первую онлайн консультацию психолога чате. Получить КОНСУЛЬТАЦИЮ и ПОДДЕРЖКУ профессиональных психологов.

  17. Jacobbep表示:

    pharmacies en ligne certifiГ©es http://tadalafilmeilleurprix.com/# vente de mГ©dicament en ligne

  18. Richardprurf表示:

    https://viagrameilleurprix.shop/# Meilleur Viagra sans ordonnance 24h
    pharmacies en ligne certifiГ©es

  19. Perryzoozy表示:

    pharmacie en ligne kamagra gel pharmacie en ligne sans ordonnance

  20. Richardprurf表示:

    https://pharmaciemeilleurprix.com/# pharmacie en ligne france livraison internationale
    pharmacie en ligne france livraison belgique

  21. WilsonVah表示:

    acheter mГ©dicament en ligne sans ordonnance: trouver un mГ©dicament en pharmacie – pharmacie en ligne france livraison internationale

  22. NorbertKep表示:

    Pharmacie sans ordonnance: Cialis sans ordonnance 24h – pharmacie en ligne france livraison belgique

  23. WilsonVah表示:

    pharmacie en ligne: kamagra gel – pharmacie en ligne sans ordonnance

  24. Jacobbep表示:

    п»їpharmacie en ligne france https://kamagrameilleurprix.com/# pharmacie en ligne sans ordonnance

  25. Richardprurf表示:

    https://pharmaciemeilleurprix.shop/# pharmacie en ligne france livraison belgique
    Pharmacie sans ordonnance

  26. Perryzoozy表示:

    pharmacie en ligne france pas cher cialis sans ordonnance pharmacie en ligne fiable

  27. Richardprurf表示:

    http://viagrameilleurprix.com/# Sildenafil teva 100 mg sans ordonnance
    п»їpharmacie en ligne france

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。