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

250,267 Responses

  1. EdwinWency表示:

    top 10 pharmacies in india: indian pharmacy paypal – www india pharm

  2. Sazrgzs表示:

    Задался вопросом: можно ли на самом деле купить диплом государственного образца в Москве? Был приятно удивлен — это реально и легально!
    Сначала искал информацию в интернете на тему: купить диплом математик, купить диплом математика, купить диплом московского института, купить диплом о среднем образовании в стерлитамаке, купить диплом с госреестр и получил базовые знания. В итоге остановился на материале: kyc-diplom.com/diplomy-po-professii/kupit-diplom-defektologa.html

  3. Sazrbhz表示:

    Хочу рассказать о своем опыте по заказу аттестата пту, думал это не реально и стал искать информацию в сети, про купить копию диплома, купить диплом в минусинске, можно ли купить диплом о среднем специальном образовании, покупка диплома отзывы, купить диплом вуза в спб, постепенно вникая в суть дела нашел отличный материал здесь proffdiplomik.com/tver)

  4. в аренду тент недорого в аренду тент недорого .

  5. Trenterone表示:

    Agb Mexico Pharm: purple pharmacy mexico price list – Agb Mexico Pharm

  6. EdwinWency表示:

    world pharmacy india: indianpharmacy com – india pharmacy

  7. MatthewTek表示:

    http://gocanadapharm.com/# best canadian online pharmacy

  8. шатры в аренду для выездных мероприятий http://www.shatry-dlya-meropriyatiy.ru .

  9. Профессиональный сервисный центр по ремонту бытовой техники с выездом на дом.
    Мы предлагаем:сервисные центры по ремонту техники в мск
    Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!

  10. Смартфоны с доставкой по Москве http://www.techno-line.store .

  11. Dnrtrcz表示:

    Где заказать диплом специалиста?
    Мы изготавливаем дипломы психологов, юристов, экономистов и прочих профессий по приятным тарифам. Мы можем предложить документы техникумов, расположенных в любом регионе России. Вы можете купить качественный диплом от любого учебного заведения, за любой год, указав подходящую специальность и хорошие оценки за все дисциплины. Дипломы и аттестаты выпускаются на “правильной” бумаге самого высшего качества. Это позволяет делать государственные дипломы, не отличимые от оригинала. Они будут заверены необходимыми печатями и подписями. Стараемся поддерживать для клиентов адекватную ценовую политику. Для нас важно, чтобы документы были доступными для большого количества граждан. diplomius-docs.com/kupit-diplom-v-tambove-6

  12. Lazrmmf表示:

    Заказать диплом любого института!
    Мы изготавливаем дипломы любой профессии по разумным тарифам— freediplom.com/diplom-vracha-lechebnoe-delo-kupit-2/

  13. Sazrtut表示:

    Мы изготавливаем дипломы психологов, юристов, экономистов и других профессий по выгодным ценам. Плюсы приобретения документов у нас
    Вы заказываете диплом через надежную компанию. Такое решение сэкономит не только массу денег, но и время.
    Плюсов куда больше:
    • Дипломы печатаются на фирменных бланках с мокрыми печатями и подписями;
    • Предлагаем дипломы любого ВУЗа РФ;
    • Стоимость во много раз ниже той, которую пришлось бы заплатить на очном обучении в ВУЗе;
    • Удобная доставка как по столице, так и в другие регионы России.
    Заказать диплом о высшем образовании– http://dev.fleeped.com/create-blog/ – dev.fleeped.com/create-blog

  14. Jariorxbx表示:

    Где заказать диплом специалиста?
    Мы предлагаеммаксимально быстро заказать диплом, который выполнен на оригинальной бумаге и заверен мокрыми печатями, штампами, подписями. Документ пройдет лубую проверку, даже при помощи профессиональных приборов. Решайте свои задачи быстро и просто с нашими дипломами. Заказать диплом любого университета! autogroupe.ru/diplom-za-3-dnya-bez-lishnih-voprosov

  15. MatthewTek表示:

    https://agbmexicopharm.shop/# pharmacies in mexico that ship to usa

  16. диплом с помощью нейросети http://www.studgen.ru/ .

  17. алкоголь 24 часа доставка dostavka-alkogolya248.ru .

  18. Профессиональный сервисный центр по ремонту бытовой техники с выездом на дом.
    Мы предлагаем:сервисные центры в москве
    Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!

  19. Jariormah表示:

    Где купить диплом по актуальной специальности?
    Мы предлагаем быстро заказать диплом, который выполнен на оригинальной бумаге и заверен мокрыми печатями, водяными знаками, подписями должностных лиц. Данный диплом способен пройти любые проверки, даже с применением специально предназначенного оборудования. Достигайте своих целей быстро с нашими дипломами.
    Приобрести диплом о высшем образовании diplomservis.com/kupit-sertifikat-spetsialista-18/

  20. 1win_pppt表示:

    1 вин вход в личный кабинет https://1win6051.ru/ .

  21. Diplomi_dgSa表示:

    купить диплом кишиневского политеха [url=https://diplomys-vsem.ru/]diplomys-vsem.ru[/url] .

  22. Cazrfzj表示:

    Заказать диплом любого ВУЗа!
    Мы предлагаем документы институтов, расположенных в любом регионе РФ. Документы выпускаются на бумаге высшего качества: armatryrp.forumex.ru/viewtopic.phpf=11&t=1012

  23. Sazrbop表示:

    Заказать диплом об образовании!
    Заказать диплом университета по невысокой цене можно, обратившись к надежной специализированной компании. Приобрести диплом: diplomg-cheboksary.ru/diplom-s-reestrom-kupit-podlinnij-diplom

  24. ChesterFus表示:

    www india pharm: www india pharm – india pharmacy

發佈留言

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