婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Html5移動端獲獎無縫滾動動畫實現示例

Html5移動端獲獎無縫滾動動畫實現示例

熱門標簽:威海營銷外呼系統招商 濟南辦理400電話 農村住宅地圖標注 鄭州電銷外呼系統違法嗎 漳州人工外呼系統排名 跟電銷機器人做同事 ai電銷機器人連接網關 鶴壁手機自動外呼系統怎么安裝 中紳電銷智能機器人

本文介紹了Html5移動端獲獎無縫滾動動畫實現示例,分享給大家,具體如下:

需求分析

哈哈,上動態圖真的是一下就明了了。

就是滾動么滾動,那么制作這個有什么方法呢?我們來總結一下:

html骨架

其實很簡單,最外面的<div>是做固定的窗口,里面的<ul>控制運動,<li>里面是展示動畫

<div class="roll" id="roll">
    <ul>
         <li>第一個結構</li>
         <li>第二個結構</li>
         <li>第三個結構</li>
         <li>第四個結構</li>
         <li>第五個結構</li>
         <li>第六個結構</li>
         <li>第七個結構</li>
         <li>第八個結構</li>
    </ul>
</div>

基本css樣式

先把基本的css樣式實現

*{
    margin:0;
    padding:0;
}
.roll{
    margin: 100px auto;
    width: 200px;
    height: 40px;
    overflow:hidden;
    border: 1px solid aquamarine;
}
.roll ul{
    list-style: none;
}
.roll li{
    line-height:20px;
    font-size:14px;
    text-align:center;
}

可以看看大致的樣式:

實現思路

一、使用jquery的animate動畫

animate()方法

$(selector).animate(styles,speed,easing,callback)

參數:
styles:必需參數,需要產生動畫的css樣式(使用駝峰式命名)
speed: 規定動畫的速度
@number:1000(ms)
@string:"slow","normal","fast"
easing:動畫速度(swing,linear)
callback:函數執行完之后的回調函數

    $(document).ready(function(){
            setInterval(function(){  // 添加定時器,每1.5s進行轉換
                $("#roll").find("ul:first").animate({
                        marginTop:"-40px"  //每次移動的距離
                },500,function(){   // 動畫運動的時間
                        //$(this)指的是ul對象,
                        //ul復位之后把第一個元素和第二個元素插入
                        //到ul的最后一個元素的位置
                        $(this).css({marginTop:"0px"}).find("li:first").appendTo(this);
                        $(this).find("li:first").appendTo(this);
                });
            },1500)
        });

看看效果:

二、使用css3的animation動畫

通過css3中的關鍵幀,可以得到跳步的效果。先通過一個短的看一下思路。

初步

1.如果是寫死的獲獎,那么需要把前面的那個復制一份到后面去,如果是一個一個滾動那么就復制第一個,如果是兩個兩個滾動的就復制第一個和第二個。

<div class="roll" id="roll">
        <ul>
             <li>第一個結構</li>
             <li>第二個結構</li>
             <li>第三個結構</li>
             <li>第四個結構</li>
             <li>第五個結構</li>
             <li>第六個結構</li>
             <li>第七個結構</li>
             <li>第八個結構</li>
             <li>第一個結構</li>
             <li>第二個結構</li>
        </ul>
</div>

2.然后計算需要滾動多少次,一次多少秒,例子是兩個兩個滾動,需要5s,所以css3的animation的時間是5s。那么@keyframe需要分成幾份呢?因為是停頓,每一個滾動都需要兩份,最后一個要跳動所以只有一份,所以需要5 * 2 - 1 = 9份,看代碼就曉得了:

/*這里不做兼容性處理*/
.roll ul{
    list-style: none;
    animation: ani 5s  linear infinite;  /*動畫ani,5s,循環勻速播放*/
}
@keyframes ani{  
    0%{
        margin-top: 0;
    }
    12.5%{
        margin-top: 0;
    }
    25%{
        margin-top: -40px;
    }
    37.5%{
        margin-top: -40px;
    }
    50%{
        margin-top: -80px;
    }
    62.5%{
        margin-top: -80px;
    }
    75%{
        margin-top: -120px;
    }
    87.5%{
        margin-top: -120px;
    }
    100%{
        margin-top: -160px; /*最后是一個,這樣可以打斷動畫*/
    }
}

進階

如果個數不確定,那么就需要動態的計算,用js動態地添加@keyframes ,到時候只要自己可以計算清楚間隔還有移動的距離就好。

1.首先獲取<li>的長度length
2.然后計算間隔百分比,因為有停頓所以記得要用秒數×2
3.然后用字符串拼寫@keyframes,0~length,包括length,因為多一個,雙數和單數分開。
4.把<ul>中的第一個和第二個克隆到<ul>的最后
5.創建一個<style>標簽加入到<head>中
6.給<ul>添加動畫屬性

話不多說上代碼:

   function addKeyFrame(){
       var ulObj = $("#roll ul"),  //獲取ul對象
             length = $("#roll li").length,  //獲取li數組長度
             per = 100 / (length / 2 * 2 );  //計算中間間隔百分比
       // 拼接字符串
       var keyframes = `\    
       @keyframes ani{`;
       for(var i = 0 ; i<=length ; i++ ){
           keyframes+=`${i * per}%{
                           margin-top: ${i % 2 == 0 ? -i * 20 : -(i - 1) * 20}px;
                       }`;
       }
       keyframes+='}';
       var liFirst = $("#roll li:first"),   //獲取第一個元素
           liSec = liFirst.next();    //獲取第二個元素
       ulObj.append(liFirst.clone()).append(liSec.clone());   //將兩個元素插入到ul里面
       $("<style>").attr("type","text/css").html(keyframes).appendTo($("head"));    //創建style標簽把關鍵幀插入到頭部
       ulObj.css("animation","ani 5s linear infinite");  //給ul添加css3動畫
   }
   addKeyFrame();

三、zepto+transition實現

移動端的zepto沒有animate函數,如果不用css3的屬性,那如何用js去寫?

var timer,top;
function roll(){
    var ulObj = $("#roll").find("ul"),
        length = $("#roll li").length,  
        liFirst = $("#roll").find("li:first");
        liSec = liFirst.next();
    ulObj.append(liFirst.clone()).append(liSec.clone());  //把第一個第二個都添加到<ul>標簽中
    clearInterval(timer);
    timer = setInterval(function(){  //設置定時器
        var top = ulObj.css("margin-top");
        top = +top.slice(0,-2);
        if(top != -(20 * length)){  //獲取現在的高度如果沒有到最后就上移
            top -= 40;
            ulObj.css({"-webkit-transition":"all 1s","transition":"all 1s","margin-top":top});
        }else{  //如果到了最后就迅速到零
            top = 0;
            ulObj.css({"-webkit-transition":"none","transition":"none","margin-top":top});
            setTimeout(function(){  //這里加一個延時器,也是要放在隊列最后去執行,為了避免兩個動畫合并
                top -= 40;
                ulObj.css({"-webkit-transition":"all 1s","transition":"all 1s","margin-top":top});
            },0)
        }
    },2000);
}

roll();

如果還有別的方法,下次我會不定期更新的。不過移動端的話這幾個應該夠用了。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

標簽:營口 咸陽 文山 惠州 甘南 紅河 蘇州 萍鄉

巨人網絡通訊聲明:本文標題《Html5移動端獲獎無縫滾動動畫實現示例》,本文關鍵詞  Html5,移動,端,獲獎,無縫,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Html5移動端獲獎無縫滾動動畫實現示例》相關的同類信息!
  • 本頁收集關于Html5移動端獲獎無縫滾動動畫實現示例的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    欧美bbbbb| 成人欧美一区二区三区在线播放| 日韩av午夜在线观看| 国产性天天综合网| 欧美系列日韩一区| 国产成人精品免费视频网站| 天天爽夜夜爽夜夜爽精品视频| 亚洲国产成人午夜在线一区| 欧美一区二区三区婷婷月色 | 91啦中文在线观看| 国内精品国产成人国产三级粉色| 三级久久三级久久| 亚洲3atv精品一区二区三区| 亚洲男女一区二区三区| 国产精品久久久99| 中文天堂在线一区| 国产精品女上位| 国产片一区二区| 久久精品欧美一区二区三区不卡 | 亚洲黄色免费网站| 国产精品久久看| 久久久精品国产免大香伊| 亚洲精品一区二区三区四区高清| 欧美群妇大交群中文字幕| 欧美日韩性生活| 欧美日韩国产成人在线免费| 欧美亚洲动漫制服丝袜| 在线看国产一区| 欧美麻豆精品久久久久久| 777午夜精品视频在线播放| 欧美一区二区三区喷汁尤物| 欧美电影免费观看高清完整版 | 精东粉嫩av免费一区二区三区| 蜜臀精品一区二区三区在线观看 | 欧美日韩精品免费| 欧美日本高清视频在线观看| 欧美妇女性影城| 日韩一区二区三区视频在线观看| 欧美大尺度电影在线| 国产丝袜欧美中文另类| 国产精品少妇自拍| 一区二区在线观看免费视频播放| 亚洲精品乱码久久久久久久久 | 亚洲精品国久久99热| 一区二区三区四区五区视频在线观看 | 中文字幕在线观看不卡| 《视频一区视频二区| 亚洲mv大片欧洲mv大片精品| 奇米一区二区三区av| 国产在线精品不卡| 一本大道久久a久久精品综合| 欧美亚洲高清一区二区三区不卡| 日韩欧美国产午夜精品| 国产精品视频在线看| 午夜视频在线观看一区二区| 韩国成人在线视频| 色噜噜狠狠成人网p站| 日韩免费高清av| 国产精品无码永久免费888| 亚洲成人一区二区| 国产白丝精品91爽爽久久| 欧美色综合网站| 国产日本亚洲高清| 无码av中文一区二区三区桃花岛| 国产精品 欧美精品| 欧美网站一区二区| 欧美激情中文字幕一区二区| 无码av中文一区二区三区桃花岛| 成人免费毛片片v| 欧美tickle裸体挠脚心vk| 一区二区国产盗摄色噜噜| 国产乱码精品1区2区3区| 欧美日韩激情在线| 亚洲美女少妇撒尿| 成人一二三区视频| 精品国产不卡一区二区三区| 亚洲综合精品久久| 北岛玲一区二区三区四区 | 国产精品女人毛片| 久久成人久久鬼色| 欧美色精品天天在线观看视频| 国产亚洲欧美在线| 狠狠色狠狠色合久久伊人| 欧美影院一区二区三区| 亚洲色图第一区| 成人激情图片网| 亚洲国产高清aⅴ视频| 国产黄色成人av| 日韩免费视频一区二区| 香蕉乱码成人久久天堂爱免费| 色999日韩国产欧美一区二区| 国产精品无遮挡| 国产99久久久久久免费看农村| 精品久久久久99| 久草这里只有精品视频| 欧美videofree性高清杂交| 免费成人在线网站| 日韩欧美不卡一区| 加勒比av一区二区| 久久精品水蜜桃av综合天堂| 国精产品一区一区三区mba桃花| 91精品国产综合久久精品图片| 亚洲夂夂婷婷色拍ww47| 色婷婷av一区二区三区软件| 亚洲精品国久久99热| 91小视频免费看| 亚洲欧美色图小说| 精品婷婷伊人一区三区三| 亚洲国产视频直播| 91精品在线一区二区| 久久99久久久久久久久久久| 69精品人人人人| 美国十次了思思久久精品导航| 欧美日韩高清一区二区不卡| 亚洲成在线观看| 欧美一级二级在线观看| 国产乱码精品一品二品| 欧美激情一区二区三区不卡 | 色综合天天在线| 一区二区在线观看免费视频播放| 91伊人久久大香线蕉| 亚洲一区二区综合| 精品少妇一区二区三区视频免付费 | 99国产精品久久久久久久久久久| 国产精品乱人伦一区二区| 色999日韩国产欧美一区二区| 亚洲精品午夜久久久| 色天天综合久久久久综合片| 亚洲一级二级在线| 3d动漫精品啪啪一区二区竹菊| 久久超级碰视频| 中文字幕不卡在线播放| 欧美人与性动xxxx| 成人免费毛片高清视频| 午夜精品久久久久久久99樱桃| 欧美精品一区二区久久久| 色综合色综合色综合| 日韩av电影免费观看高清完整版 | 岛国av在线一区| 亚洲国产欧美另类丝袜| 欧美不卡一区二区三区四区| 成人黄色电影在线 | 国产一区二区三区四| 亚洲三级在线免费观看| 日韩欧美国产综合| 欧洲一区二区三区在线| 国产一区二区在线观看视频| 亚洲精品视频自拍| www久久久久| 91精品国产黑色紧身裤美女| 成人av小说网| 肉丝袜脚交视频一区二区| 日韩理论在线观看| 久久日一线二线三线suv| 欧美裸体bbwbbwbbw| 99久久99久久免费精品蜜臀| 蜜桃av噜噜一区| 亚洲一线二线三线视频| 综合欧美亚洲日本| 日本一区二区三区视频视频| 精品国产乱码久久久久久久久| 欧洲色大大久久| 欧美国产日韩亚洲一区| 欧美日韩一区三区四区| 亚洲免费在线视频一区 二区| 日韩精品一区二区三区swag| 日韩三级伦理片妻子的秘密按摩| 欧美日韩不卡在线| 欧美一区二区三区四区高清| 日韩亚洲欧美综合| 欧洲亚洲精品在线| 欧美另类z0zxhd电影| 日韩一区二区麻豆国产| 欧美成人精品福利| 国产精品天干天干在线综合| 国产精品电影院| 亚洲在线视频一区| 免费在线观看视频一区| 韩国v欧美v亚洲v日本v| 不卡高清视频专区| 日本道免费精品一区二区三区| 日本乱人伦aⅴ精品| 欧美日本一道本在线视频| 日韩一卡二卡三卡四卡| 亚洲国产精品黑人久久久| 亚洲乱码国产乱码精品精可以看| 亚洲综合男人的天堂| 裸体健美xxxx欧美裸体表演| 国产激情一区二区三区四区| 色94色欧美sute亚洲线路二| 欧美丰满少妇xxxbbb| 日本一区二区三区dvd视频在线| 亚洲伦理在线免费看| 久久精品国产秦先生| 99在线热播精品免费| 91精品国产aⅴ一区二区| 国产精品理论片| 一区二区三区四区在线| 国产伦精品一区二区三区在线观看| av网站免费线看精品|