pbootcms网站模板|日韩1区2区|织梦模板||网站源码|日韩1区2区|jquery建站特效-html5模板网

用CSS3實(shí)現(xiàn)無限循環(huán)的無縫滾動的示例代碼

這篇文章主要介紹了用CSS3實(shí)現(xiàn)無限循環(huán)的無縫滾動的示例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧

有時(shí)候在頁面的某個(gè)模塊中,需要無限循環(huán)的滾動一些消息。那么如果我們用js實(shí)現(xiàn)無縫銜接滾動的思路是什么呢(比如我們這個(gè)模塊是向上滾動的)?

1.克隆A一份完全一樣的數(shù)據(jù)B放在原數(shù)據(jù)A的后面;

2.使用setInterval向上滾動A的父級容器;

3.當(dāng)向上滾動的距離L正好的A的高度時(shí)(L==A.height()),L=0,重新開始滾動,無限循環(huán)。

克隆一份數(shù)據(jù)放在后面,是為了當(dāng)A向上移動時(shí),后面有數(shù)據(jù)能填補(bǔ)漏出來的空白。當(dāng)B移動到可視區(qū)域的頂部時(shí),此時(shí)A剛好移出可視區(qū)域,那么此時(shí)將容器重新歸0,用戶是沒有感知的,以為還是B中的第一條數(shù)據(jù)。然后繼續(xù)向上滾動。

1. 使用CSS3來實(shí)現(xiàn)

若要用CSS3的屬性實(shí)現(xiàn)的話,非animation莫屬,因?yàn)?code>transition是需要手動的觸發(fā),而且不能無限次執(zhí)行下去,而animation恰好能解決這個(gè)問題。

假如數(shù)據(jù)是在寫死的情況下時(shí),我們完全可以手動復(fù)制一份數(shù)據(jù)放在后面,然后把原數(shù)據(jù)的高度寫到css中,實(shí)現(xiàn)的思路與上面的一樣:

css樣式:

@keyframes rowup {
    0% {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
    100% {
        -webkit-transform: translate3d(0, -307px, 0);
        transform: translate3d(0, -307px, 0);
        display: none;
    }
}
.list{
    width: 300px;
    border: 1px solid #999;
    margin: 20px auto;
    position: relative;
    height: 200px;
    overflow: hidden;
}

.list .rowup{
    -webkit-animation: 10s rowup linear infinite normal;
    animation: 10s rowup linear infinite normal;
    position: relative;
}

html格式:

<div class="list">
    <div class="cc rowup">
        <div class="item">1- 121233fffffr國家認(rèn)可更健康進(jìn)口價(jià)格困擾</div>
        <div class="item">2- 3123233</div>
        <div class="item">3- 個(gè)人口結(jié)構(gòu)俄跨入國際科技館客人感覺</div>
        <div class="item">4- ggrgerg</div>
        <div class="item">5- fvdgdv</div>
        <div class="item">6- 德國南部巴士與卡車相撞起火 31人受傷11人死亡樸槿惠庭審時(shí)突然昏迷 支持者:她死了法官要負(fù)責(zé)!</div>
        <div class="item">7- 外交部再次回應(yīng)印軍越界:要求立即將越界部隊(duì)撤回</div>
        <div class="item">8- 德國網(wǎng)紅致信默克爾</div>
        <div class="item">9- 國資委原</div>
        <div class="item">1- 121233fffffr國家認(rèn)可更健康進(jìn)口價(jià)格困擾</div>
        <div class="item">2- 3123233</div>
        <div class="item">3- 個(gè)人口結(jié)構(gòu)俄跨入國際科技館客人感覺</div>
        <div class="item">4- ggrgerg</div>
        <div class="item">5- fvdgdv</div>
        <div class="item">6- 德國南部巴士與卡車相撞起火 31人受傷11人死亡樸槿惠庭審時(shí)突然昏迷 支持者:她死了法官要負(fù)責(zé)!</div>
        <div class="item">7- 外交部再次回應(yīng)印軍越界:要求立即將越界部隊(duì)撤回</div>
        <div class="item">8- 德國網(wǎng)紅致信默克爾</div>
        <div class="item">9- 國資委原</div>
    </div>
</div>

2. 數(shù)據(jù)不確定時(shí)

在上面的小節(jié)中,數(shù)據(jù)是死的,高度也是寫死到了CSS3中。可是如果從接口獲取到的數(shù)據(jù)個(gè)數(shù)不定呢,每條數(shù)據(jù)的長度也不確定,怎么辦呢?

這里就需要根據(jù)數(shù)據(jù)來重新計(jì)算高度,并寫到CSS里,可是keyframes修改起來還比較麻煩,那么我們就用覆蓋的方式來重新keyframes中的數(shù)據(jù):

// 設(shè)置keyframes屬性
function addKeyFrames(y){
    var style = document.createElement('style');
    style.type = 'text/css';
    var keyFrames = '\
    @-webkit-keyframes rowup {\
        0% {\
            -webkit-transform: translate3d(0, 0, 0);\
            transform: translate3d(0, 0, 0);\
        }\
        100% {\
            -webkit-transform: translate3d(0, A_DYNAMIC_VALUE, 0);\
            transform: translate3d(0, A_DYNAMIC_VALUE, 0);\
        }\
    }\
    @keyframes rowup {\
        0% {\
            -webkit-transform: translate3d(0, 0, 0);\
            transform: translate3d(0, 0, 0);\
        }\
        100% {\
            -webkit-transform: translate3d(0, A_DYNAMIC_VALUE, 0);\
            transform: translate3d(0, A_DYNAMIC_VALUE, 0);\
        }\
    }';
    style.innerHTML = keyFrames.replace(/A_DYNAMIC_VALUE/g, y);
    document.getElementsByTagName('head')[0].appendChild(style);
}

【網(wǎng)站聲明】本站除付費(fèi)源碼經(jīng)過測試外,其他素材未做測試,不保證完整性,網(wǎng)站上部分源碼僅限學(xué)習(xí)交流,請勿用于商業(yè)用途。如損害你的權(quán)益請聯(lián)系客服QQ:2655101040 給予處理,謝謝支持。

相關(guān)文檔推薦

這篇文章主要介紹了用CSS3實(shí)現(xiàn)無限循環(huán)的無縫滾動的實(shí)例代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
主站蜘蛛池模板: 广州企亚 - 数码直喷、白墨印花、源头厂家、透气无手感方案服务商! | 铁艺,仿竹,竹节,护栏,围栏,篱笆,栅栏,栏杆,护栏网,网围栏,厂家 - 河北稳重金属丝网制品有限公司 山东太阳能路灯厂家-庭院灯生产厂家-济南晟启灯饰有限公司 | 深圳离婚律师咨询「在线免费」华荣深圳婚姻律师事务所专办离婚纠纷案件 | 丝杆升降机-不锈钢丝杆升降机-非标定制丝杆升降机厂家-山东鑫光减速机有限公司 | 冻干机(冷冻干燥机)_小型|实验型|食品真空冷冻干燥机-松源 | BOE画框屏-触摸一体机-触控查询一体机-触摸屏一体机价格-厂家直销-触发电子 | 氢氧化钾厂家直销批发-济南金昊化工有限公司 | 浙江华锤电器有限公司_地磅称重设备_防作弊地磅_浙江地磅售后维修_无人值守扫码过磅系统_浙江源头地磅厂家_浙江工厂直营地磅 | 不干胶标签-不干胶贴纸-不干胶标签定制-不干胶标签印刷厂-弗雷曼纸业(苏州)有限公司 | BOE画框屏-触摸一体机-触控查询一体机-触摸屏一体机价格-厂家直销-触发电子 | 依维柯自动挡房车,自行式国产改装房车,小型房车价格,中国十大房车品牌_南京拓锐斯特房车 - 南京拓锐斯特房车 | 机床主轴维修|刀塔维修|C轴维修-常州翔高精密机械有限公司 | 昆明网络公司|云南网络公司|昆明网站建设公司|昆明网页设计|云南网站制作|新媒体运营公司|APP开发|小程序研发|尽在昆明奥远科技有限公司 | 欧美日韩国产一区二区三区不_久久久久国产精品无码不卡_亚洲欧洲美洲无码精品AV_精品一区美女视频_日韩黄色性爱一级视频_日本五十路人妻斩_国产99视频免费精品是看4_亚洲中文字幕无码一二三四区_国产小萍萍挤奶喷奶水_亚洲另类精品无码在线一区 | 品牌策划-品牌设计-济南之式传媒广告有限公司官网-提供品牌整合丨影视创意丨公关活动丨数字营销丨自媒体运营丨数字营销 | 都江堰招聘网-都江堰人才网 都江堰人事人才网 都江堰人才招聘网 邢台人才网_邢台招聘网_邢台123招聘【智达人才网】 | 手持气象站_便携式气象站_农业气象站_负氧离子监测站-山东万象环境 | 伊卡洛斯软装首页-电动窗帘,别墅窗帘,定制窗帘,江浙沪1000+别墅窗帘案例 | 骨灰存放架|骨灰盒寄存架|骨灰架厂家|智慧殡葬|公墓陵园管理系统|网上祭奠|告别厅智能化-厦门慈愿科技 | hdpe土工膜-防渗膜-复合土工膜-长丝土工布价格-厂家直销「恒阳新材料」-山东恒阳新材料有限公司 ETFE膜结构_PTFE膜结构_空间钢结构_膜结构_张拉膜_浙江萬豪空间结构集团有限公司 | 交变/复合盐雾试验箱-高低温冲击试验箱_安奈设备产品供应杭州/江苏南京/安徽马鞍山合肥等全国各地 | ETFE膜结构_PTFE膜结构_空间钢结构_膜结构_张拉膜_浙江萬豪空间结构集团有限公司 | 台式低速离心机-脱泡离心机-菌种摇床-常州市万丰仪器制造有限公司 | 塑料熔指仪-塑料熔融指数仪-熔体流动速率试验机-广东宏拓仪器科技有限公司 | 全温恒温摇床-水浴气浴恒温摇床-光照恒温培养摇床-常州金坛精达仪器制造有限公司 | COD分析仪|氨氮分析仪|总磷分析仪|总氮分析仪-圣湖Greatlake | 防伪溯源|防窜货|微信二维码营销|兆信_行业内领先的防伪防窜货数字化营销解决方案供应商 | pbt头梳丝_牙刷丝_尼龙毛刷丝_PP塑料纤维合成毛丝定制厂_广州明旺 | 转子泵_凸轮泵_凸轮转子泵厂家-青岛罗德通用机械设备有限公司 | 定时排水阀/排气阀-仪表三通旋塞阀-直角式脉冲电磁阀-永嘉良科阀门有限公司 | 彼得逊采泥器-定深式采泥器-电动土壤采样器-土壤样品风干机-常州索奥仪器制造有限公司 | 档案密集柜_手动密集柜_智能密集柜_内蒙古档案密集柜-盛隆柜业内蒙古密集柜直销中心 | 水厂自动化-水厂控制系统-泵站自动化|控制系统-闸门自动化控制-济南华通中控科技有限公司 | 数年网路-免费在线工具您的在线工具箱-shuyear.com | 压砖机、液压制砖机、静压砖机、环保砖机生产厂家—杜甫机械 | 九爱图纸|机械CAD图纸下载交流中心 | Trimos测长机_测高仪_TESA_mahr,WYLER水平仪,PWB对刀仪-德瑞华测量技术(苏州)有限公司 | 环氧树脂地坪_防静电地坪漆_环氧地坪漆涂料厂家-地壹涂料地坪漆 环球电气之家-中国专业电气电子产品行业服务网站! | MOOG伺服阀维修,ATOS比例流量阀维修,伺服阀维修-上海纽顿液压设备有限公司 | PC构件-PC预制构件-构件设计-建筑预制构件-PC构件厂-锦萧新材料科技(浙江)股份有限公司 | 深圳装修_店面装修设计_餐厅设计_装修全包价格-尚泰装饰设计 |