结合 CSS3 transition transform 实现简单的跑马灯效果的示例


Posted in HTML / CSS onFebruary 07, 2018

这是之前客户的一个需求,给的 demo 是用 gif 实现跑马灯,但是我们的没法用 gif,因为图上的文字需要翻译成各国语言,所以不能使用图片来实现,那么,自己写一个咯。

思考过程

结合 CSS3 transition transform 实现简单的跑马灯效果的示例

html

<div lantern>
  <ul>
    <li>1</li>
    <li>2</li>
    <li>3</li>
    <li>4</li>
  </ul>
</div>

css

* {
  margin: 0;
  padding: 0;
}

[lantern] {
  overflow: hidden;
}

ul {
  white-space: nowrap;
  font-size: 0;
  transform: translateX(0);
  transition: transform 0s linear;
}

li {
  width: 50vw;
  border: 1px solid red;
  display: inline-block;
  height: 30px;
  font-size: 16px;
}

js

function lantern($element,speed = 10) {
    let liWidth = 0;
    let $ul = $element.find("ul");

    function run(init = false) {
      let $li = $ul.find("li").first();
      liWidth = $li.outerWidth();

      if(!init){
        $ul.append($li[0].outerHTML);
        $li.remove();
      }
      
      $ul[0].style.transitionDuration = "0s";
      $ul[0].style.transform = "translateX(0)";

      setTimeout(function() {
        $ul[0].style.transitionDuration = speed + "s";
        $ul[0].style.transform = "translateX(-" + liWidth + "px)";
      }, 20);
    }

    run(true);
    setTimeout(() => {
      setInterval(run, speed * 1000);
    }, 0);
  }
 
lantern($('[lantern]'), 20);

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

HTML / CSS 相关文章推荐
用CSS禁用输入法(CSS3 UI规范)实例解析
Dec 04 HTML / CSS
用CSS3实现Win8风格的方格导航菜单效果
Apr 10 HTML / CSS
css3的@media属性实现页面响应式布局示例代码
Feb 10 HTML / CSS
css3的transform中scale缩放详解
Dec 08 HTML / CSS
CSS3实现翘边的阴影效果的代码示例
Jun 13 HTML / CSS
CSS3改变浏览器滚动条样式
Jan 04 HTML / CSS
html5使用canvas绘制太阳系效果
Dec 15 HTML / CSS
Html5元素及基本语法详解
Aug 02 HTML / CSS
解决HTML5中的audio在手机端和微信端的不能自动播放问题
Nov 04 HTML / CSS
HTML5跳转小程序wx-open-launch-weapp的示例代码
Jul 16 HTML / CSS
基于CSS3画一个iPhone
Apr 21 HTML / CSS
面试必问:圣杯布局和双飞翼布局的区别
May 13 HTML / CSS
css3 clip实现圆环进度条的示例代码
Feb 07 #HTML / CSS
使用css3做0.5px的细线的示例代码
Jan 18 #HTML / CSS
详解CSS 3 中的 calc() 方法
Jan 12 #HTML / CSS
css3实现冲击波效果的示例代码
Jan 11 #HTML / CSS
css3如何绘制一个圆圆的loading转圈动画
Jan 09 #HTML / CSS
浅谈CSS3中的变形功能-transform功能
Dec 27 #HTML / CSS
css3的动画特效之动画序列(animation)
Dec 22 #HTML / CSS
You might like
如何在PHP程序中防止盗链
2008/04/09 PHP
PHP utf-8编码问题,utf8编码,数据库乱码,页面显示输出乱码
2013/04/08 PHP
编写PHP脚本过滤用户上传的图片
2015/07/03 PHP
Highslide.js是一款基于js实现的网页中图片展示插件
2020/03/30 Javascript
js函数的延迟加载实现代码
2012/10/11 Javascript
nodejs的require模块(文件模块/核心模块)及路径介绍
2013/01/14 NodeJs
解读JavaScript中 For, While与递归的用法
2013/05/07 Javascript
JavaScript中Function()函数的使用教程
2015/06/04 Javascript
Javascript编程中几种继承方式比较分析
2015/11/28 Javascript
JavaScript实现下拉菜单的显示和隐藏
2016/01/05 Javascript
Bootstrap面板学习使用
2017/02/09 Javascript
jQuery is not defined 错误原因与解决方法小结
2017/03/19 Javascript
微信小程序 选项卡的简单实例
2017/05/24 Javascript
Angular之toDoList的实现代码示例
2017/12/02 Javascript
vue获取dom元素注意事项
2017/12/28 Javascript
关于js的三种使用方式(行内js、内部js、外部js)的程序代码
2018/05/05 Javascript
vue权限问题的完美解决方案
2019/05/08 Javascript
使用next.js开发网址缩短服务的方法
2020/06/17 Javascript
node.js 基于 STMP 协议和 EWS 协议发送邮件
2021/02/14 Javascript
[03:55]显微镜下的DOTA2特别篇——430灰烬之灵神级操作
2014/06/24 DOTA
python使用htmllib分析网页内容的方法
2015/05/08 Python
Python 用matplotlib画以时间日期为x轴的图像
2019/08/06 Python
将自己的数据集制作成TFRecord格式教程
2020/02/17 Python
Python socket服务常用操作代码实例
2020/06/22 Python
pytorch随机采样操作SubsetRandomSampler()
2020/07/07 Python
CSS3实战第一波 让我们尽情的圆角吧
2010/08/27 HTML / CSS
美国渔具店:FishUSA
2019/08/07 全球购物
应届生人事助理求职信
2013/11/09 职场文书
体育老师的教学自我评价分享
2013/11/19 职场文书
计算机网络专业推荐信
2013/11/24 职场文书
小学作文评语大全
2014/04/21 职场文书
2015年感恩节演讲稿(优选篇)
2015/03/20 职场文书
2015年社区统计工作总结
2015/04/21 职场文书
职场领导同事生日简短祝福语
2019/08/06 职场文书
PostgreSQL怎么创建分区表详解
2022/06/25 PostgreSQL
win10蓝屏0xc0000001安全模式进不了怎么办?win10出现0xc0000001的解决方法
2022/08/05 数码科技