利用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...

221,771 Responses

  1. Why 18-Wheeler Accident Attorneys Is Relevant 2023 18 Wheeler Accident Lawsuit

  2. See What Compact Electric Wheelchair Uk Tricks The
    Celebs Are Using compact Electric wheelchair

  3. See What Best Lightweight Folding Electric Wheelchair Uk Tricks The Celebs Are Using Lightweight folding electric Wheelchair uk (caldwell-Horne-3.blogbright.net)

  4. 10 Life Lessons That We Can Learn From Double Glazed Replacement Glass Near Me replacing glass in Double glazing (minecraftcommand.science)

  5. Bad Credit Unsecured Mortgage – Steps To Receiving One Online 다바오 과일가게

  6. 7 Things About Bunk Bed With Double Bed You’ll Kick Yourself For
    Not Knowing double bed bunk bed with storage

  7. 5 Killer Quora Answers To Replacement Double Glazing Units Near Me replacement Double glazing units

  8. JamesBak表示:

    doxycycline cheap uk: how much is doxycycline cost – can you buy doxycycline over the counter in nz

  9. The 10 Scariest Things About Private ADHD Assessment Adult
    Private adhd assessment adult

  10. Maribel表示:

    Why Upvc Windows Repair Isn’t A Topic That
    People Are Interested In Upvc Windows Repair upvc window repairs near me (Maribel)

  11. The 10 Most Scariest Things About 18 Wheeler Accident Lawyers 18 Wheeler accident lawyers (http://Www.Ksja.co.kr)

  12. A Provocative Remark About Upvc Front Doors Supplied And Fitted Near Me replacement panel for
    upvc door – emplois.fhpmco.fr

  13. 13 Things You Should Know About Cerebral Palsy Lawsuit That You Might
    Not Have Known cerebral Palsy Attorney

  14. Payday Loans – A Stitch In Time Saves Nine 비대면 대출 (vinofavoloso.com)

  15. What Is The Reason? Pet And Home Care Is Fast Becoming The Hottest Trend Of 2023 http://www.836614.xyz

  16. Ten Compact Electric Scooters Myths That Aren’t Always True ergonomic Mobility scooters

  17. 6 Recommendations Help Purchasing A Personal Loan 다바오 지역 폭발

  18. 10 Things That Your Family Taught You About Lightweight Electric
    Folding Wheelchair With Lithium Battery lightweight electric Folding wheelchair
    with lithium battery uk (Cs.xuxingdianzikeji.com)

  19. See What Upvc Window Repair Near Me Tricks The Celebs Are
    Making Use Of Window repair near Me

  20. Candice表示:

    The 9 Things Your Parents Teach You About Patio Door
    Repairs Near Me patio door repairs near me (Candice)

  21. Ten Reasons To Hate People Who Can’t Be Disproved Double
    Glazed Window Repairs Near Me Double glazing repair near me

  22. Upvc Window Repairs Near Me Tools To Ease Your Everyday Lifethe
    Only Upvc Window Repairs Near Me Trick Every
    Individual Should Be Able To window repairs near me

  23. immobiliser表示:

    How To Resolve Issues With Ferrari Ghost Installer immobiliser

  24. JamesBak表示:

    cheap clomid without rx: how to get cheap clomid online – can you buy clomid for sale

  25. auto表示:

    Are You Sick Of Car Key Fob Programming Near Me?
    10 Inspirational Sources That Will Bring Back Your Passion auto

  26. 10 Best Facebook Pages Of All Time About Replacement Double Glazing Glass Only
    double glazing glass replacement near me

  27. repairer表示:

    Hyundai Spare Key Cost: What’s The Only Thing Nobody Is Talking About repairer

  28. repairing表示:

    You Can Explain Lamborghini Digital Key To Your Mom repairing

發佈留言

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