亚洲综合原千岁中文字幕_国产精品99久久久久久久vr_无码人妻aⅴ一区二区三区浪潮_成人h动漫精品一区二区三

主頁 > 知識庫 > 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移動端獲獎無縫滾動動畫實現示例的相關信息資訊供網民參考!
  • 推薦文章
    欧美日本免费| 四虎久久影院| a级毛片免费观看网站| 国产视频在线免费观看| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 黄视频网站免费看| 欧美一级视频高清片| 欧美激情伊人| 亚洲精品影院久久久久久| 国产麻豆精品视频| 青青久久国产成人免费网站| 黄视频网站在线观看| 久久国产影院| 韩国毛片免费大片| 高清一级做a爱过程不卡视频| 九九久久国产精品大片| 久久99爰这里有精品国产| 欧美日本免费| 成人影视在线观看| 国产91丝袜在线播放0| 黄色福利片| 欧美另类videosbestsex视频| 亚洲精品影院| 久久99这里只有精品国产| 免费国产在线视频| 一级毛片看真人在线视频| 久久久久久久免费视频| 精品国产一区二区三区久久久蜜臀 | 精品在线免费播放| 黄色短视屏| 免费毛片播放| 国产网站免费观看| 国产不卡在线看| 午夜激情视频在线观看| 二级片在线观看| 亚洲第一页乱| 999久久久免费精品国产牛牛| 香蕉视频一级| 国产亚洲免费观看| 午夜家庭影院| 成人免费观看的视频黄页| 欧美国产日韩久久久| 深夜做爰性大片中文| 黄色福利片| 日韩一级黄色| 天天色成人网| 九九干| 美国一区二区三区| 国产不卡在线观看视频| 999精品影视在线观看| 久久国产一久久高清| 免费国产在线视频| 国产91丝袜高跟系列| 日日爽天天| 精品国产一区二区三区久久久蜜臀 | 久久国产精品永久免费网站| 国产成a人片在线观看视频| 日本伦理黄色大片在线观看网站| 台湾毛片| 久久精品道一区二区三区| 99色视频在线| 亚欧乱色一区二区三区| 日韩一级黄色大片| 成人在免费观看视频国产| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 欧美爱色| 国产一区免费在线观看| 国产视频一区二区在线观看| 韩国三级一区| 免费毛片播放| 久久精品成人一区二区三区| 99久久视频| 国产不卡在线看| 色综合久久久久综合体桃花网| 日本在线播放一区| 亚欧成人乱码一区二区| 麻豆系列 在线视频| 久久久成人影院| 亚洲 国产精品 日韩| 国产激情一区二区三区| 欧美一级视| 久久福利影视| 一级女性全黄生活片免费| 精品视频免费观看| 午夜欧美成人久久久久久| 日韩在线观看免费| 亚洲第一页色| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 九九九网站| 九九久久国产精品大片| 香蕉视频一级| 亚洲女初尝黑人巨高清在线观看| 天天色色网| 999精品视频在线| 国产不卡福利| 欧美另类videosbestsex高清| 国产原创视频在线| 欧美激情一区二区三区在线播放 | 91麻豆tv| 欧美激情一区二区三区视频| 天堂网中文在线| 一级片片| 国产成人精品综合在线| 四虎久久影院| 中文字幕97| 午夜在线影院| 国产成人精品一区二区视频| 精品久久久久久综合网| 亚洲精品永久一区| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 国产视频网站在线观看| 精品国产一区二区三区精东影业| 韩国毛片基地| 日韩中文字幕一区| 麻豆污视频| 韩国三级视频网站| 久久成人性色生活片| 国产视频网站在线观看| 午夜在线观看视频免费 成人| 成人a大片在线观看| 亚欧乱色一区二区三区| 久久成人性色生活片| 国产视频在线免费观看| 国产国语在线播放视频| 国产a毛片| 黄色免费三级| 免费国产在线视频| 沈樵在线观看福利| 久久精品欧美一区二区| 国产伦久视频免费观看 视频| 欧美一级视频免费观看| 成人免费观看的视频黄页| 日韩av片免费播放| 国产成a人片在线观看视频| 黄视频网站在线看| 亚洲不卡一区二区三区在线| 国产精品自拍亚洲| 99色视频在线| 精品久久久久久中文| 国产成人啪精品| 91麻豆爱豆果冻天美星空| 成人免费网站久久久| 日韩中文字幕在线观看视频| 精品毛片视频| 黄色免费三级| 一级女性全黄生活片免费| 美女被草网站| 精品国产一区二区三区免费| 欧美另类videosbestsex高清| 日韩女人做爰大片| 国产美女在线观看| 日日日夜夜操| 青草国产在线观看| 日韩一级黄色| 日本在线播放一区| 亚洲天堂免费| 黄色福利片| 一级片片| 日韩中文字幕一区| 国产一级强片在线观看| 一a一级片| 国产网站免费| 国产一区二区精品久| 欧美另类videosbestsex视频| 亚洲第一色在线| 国产不卡在线观看| 国产亚洲免费观看| 欧美大片a一级毛片视频| 欧美日本二区| 国产不卡高清| 精品视频在线看| 99热精品在线| 可以在线看黄的网站| 亚洲天堂免费| 色综合久久久久综合体桃花网| 国产成人精品一区二区视频| 午夜在线影院| 欧美激情在线精品video| 久久国产影视免费精品| 精品国产三级a| 黄色免费三级| 精品视频在线看| 国产视频在线免费观看| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 亚洲 国产精品 日韩| 久草免费在线观看| 精品国产亚洲一区二区三区| 精品视频一区二区| 久久99中文字幕| 成人免费网站视频ww| 国产一级强片在线观看| 欧美激情影院| 高清一级做a爱过程不卡视频| 精品国产一区二区三区久| 可以免费在线看黄的网站| 精品国产亚洲人成在线| 成人a大片在线观看| 午夜在线亚洲| 日韩中文字幕在线亚洲一区| 四虎影视久久久免费|