使用window.requestAnimationFrame实现动态移动

滚动容器结构

<div class="brand-box" style="max-width: 1600px; margin: 0 auto; overflow: hidden;">
    <ul class="partner-list" id="elementNeedAnimation">
        <li><a><img src="../resource/images/home/partner_logo1.png" alt=""></a><span>吉利汽车</span></li>
        <li><a><img src="../resource/images/home/partner_logo2.png" alt=""></a><span>上海大众</span></li>
        <li><a><img src="../resource/images/home/partner_logo3.png" alt=""></a><span>长安马自达</span></li>
        <li><a><img src="../resource/images/home/partner_logo4.png" alt=""></a><span>江铃福特</span></li>
        <li><a><img src="../resource/images/home/partner_logo5.png" alt=""></a><span>沃尔沃</span></li>
        <li><a><img src="../resource/images/home/partner_logo6.png" alt=""></a><span>玛莎拉蒂</span></li>
        <li><a><img src="../resource/images/home/partner_logo7.png" alt=""></a><span>宝马</span></li>
        <li><a><img src="../resource/images/home/partner_logo8.png" alt=""></a><span>起亚</span></li>
        <li><a><img src="../resource/images/home/partner_logo9.png" alt=""></a><span>江淮汽车</span></li>
        <li><a><img src="../resource/images/home/partner_logo10.png" alt=""></a><span>北京现代</span></li>
        <li><a><img src="../resource/images/home/partner_logo11.png" alt=""></a><span>上汽大通</span></li>
    </ul>
</div>

改变ul元素的transform属性

var number = 1;
var start = null;
var cellsRow = document.getElementById("elementNeedAnimation");

function stepMover(timestamp){
    timestamp = parseInt(timestamp);
    if (!start) start = timestamp;
    var progress = timestamp - start;
    if(number == (lx-(-1))){
        number = 1;
    }
    cellsRow.style.transform = "translateX("+(-Math.min((progress / 10) -(-(100*(number-1))), 100*number))+"px";
    if (progress < 2000) {
        window.requestAnimationFrame(stepMover);
    }else{
        var x = setTimeout(function(){
            number++;
            start = timestamp - (-1000);
            window.requestAnimationFrame(stepMover);
            clearTimeout(x);
        },1000);
    }
}
window.requestAnimationFrame(stepMover);
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • HTML 5 HTML5概述 因特网上的信息是以网页的形式展示给用户的,因此网页是网络信息传递的载体。网页文件是用...
    阿啊阿吖丁阅读 4,172评论 0 0
  • 一、CSS入门 1、css选择器 选择器的作用是“用于确定(选定)要进行样式设定的标签(元素)”。 有若干种形式的...
    宠辱不惊丶岁月静好阅读 1,666评论 0 6
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,171评论 1 32
  • 关于css常见问题,大多是移动端的。 简单的排版规则:条目与条目之间空两行,每条内容部分分段空一行。标点符号全部用...
    苏水儿阅读 5,094评论 0 9
  • day01­_起源和结构 结构:Xhtml xml 表现:CSS 行为:DOM ECMAScript 以上都属于W...
    Sakura_明妃阅读 1,260评论 0 1