封装一个子组件:

<template>
<div class="container">
<div class="wrap">
<div id="box">
<div id="marquee">{{text}}</div>
<div id="copy"></div>
</div>
<div id="node">{{text}}</div>
</div>
</div>
</template>
<script>
export default {
name: 'Marquee',
props: ['text'], // 字符串格式
data () {
return {
}
},
methods: {
move () {
// 获取文字text 的计算后宽度 (由于overflow的存在,直接获取不到,需要独立的node计算)
let width = document.getElementById('node').getBoundingClientRect().width
let box = document.getElementById('box')
let copy = document.getElementById('copy')
copy.innerText = this.text // 文字副本填充
let distance = 0 // 位移距离
//设置位移
setInterval(function () {
distance = distance - 1
// 如果位移超过文字宽度,则回到起点
if (-distance >= width) {
distance = 16
}
box.style.transform = 'translateX(' + distance + 'px)'
}, 40)
}
},
// 把父组件传入的arr转化成字符串
mounted () {
},
// 更新的时候运动
updated: function () {
this.move()
}
}
</script>
<style lang="less" scoped>
@import '../assets/less/common.less';
// 限制外框宽度,隐藏多余的部分
.container{
font-size: 26/@size;
background: url(../assets/img/purchasedMembers/ic_laba.png) white no-repeat 20/@size 50%; //通知的一个icon图标
background-size: 32/@size 28/@size;
padding-left:64/@size;
margin-top: 0.266rem;
/*border-bottom: 1px solid #F1F1F1;*/
height: 1rem;
}
.wrap {
overflow: hidden;
height: 1rem;
}
// 移动框宽度设置
#box {
width: 8000%;
}
// 文字一行显示
#box div {
float: left;
}
// 设置前后间隔
#marquee {
margin-right:16/@size;
line-height: 1rem;
}
// 获取宽度的节点,隐藏掉
#node {
position: absolute;
z-index: -999;
top: -999999px;
}
</style>

父组件引用并传参:

<news :text="text"></news>

vue 通知 走马灯效果的更多相关文章

  1. vue 实现走马灯效果

    Part.1  问题 在写一个H5页面时遇到一个需求,头部公告需要滚动变换,需要实现一个走马灯效果 Part.2  实现 我的做法:利用 定时器 + CSS3 变换公告数组的顺序 从而实现走马灯效果 ...

  2. 初学VUE 走马灯效果

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. Android TextView走马灯效果

    布局: <TextView android:id="@+id/myTextView" android:layout_width="match_parent" ...

  4. android中设置TextView/Button 走马灯效果

    在Android的ApiDemo中,有Button的走马灯效果,但是换作是TextView,还是有一点差异. 定义走马灯(Marquee),主要在Project/res/layout/main.xml ...

  5. android - TextView单行显示...或者文字左右滚动(走马灯效果)

    条件 TextView单行显示,文字左右滚动(走马灯效果)实现条件: 实现单行设置固定宽度或者设置权重都行 代码 TextView滚动必须写下面几个属性 android:singleLine=&quo ...

  6. Jquery 图片走马灯效果原理

    本篇只讲解水平走马灯效果,垂直向上走马灯效果不讲解,原理一样,但是水平走马灯效果有一个小坑.待会讲解 照例先上代码: HTML: <div class="box"> & ...

  7. 049——VUE中使用animation与transform实现vue的动画效果

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. css3 走马灯效果

    纯css3实现了一个正六边形的走马灯效果,记录一下css3动画的学习情况,效果如下: 主要用到的css3技术有:keyframes.perspective.perspective-origin.tra ...

  9. vue实现选中效果

    前情提要 好久没有写Vue了,略有生疏,这个东西还是得多用.下午看到一个需求,选择相册图片作为轮播图显示.接口返回相册列表,用户选一下再扔回去.直到我看到e.target.className我就知道这 ...

随机推荐

  1. ereg

    int ereg ( string $pattern , string $string [, array &$regs ] ) Note: 使用 Perl 兼容正则表达式语法的 preg_ma ...

  2. svn 删除svn项目命令

    svn delete svn://127.0.0.1:3690/project -m delete

  3. 关于xml的相关知识

     1 xml定义和用途  定义:XML (eXtensible Markup Language)即可扩展标记语言,它与HTML一样,都是SGML(Standard Generalized Markup ...

  4. ESP32搭建3.ubuntu14.04下搭建esp32开发环境 (10-5)

    硬件为乐鑫出品的ESP32一款集成了wifi和蓝牙的集成模块. 1.首先ctrl+alt+t打开终端,sudo -s选择用root权限登陆 . 2. 输入指令:sudo apt-get install ...

  5. url参数解析 and 日期格式化

    ~function (pro) { //url解析 function queryURLParameter() { var reg = /([^?&=#]+)=([^?&=#]+)/g, ...

  6. java 接口1

    接口(英文:Interface),在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明.一个类通过继承接口的方式,从而来继承接口的抽象方法. 接口并不是类,编写接口 ...

  7. python基础(字符串常用方法)

    字符串不常用方法: 字符串常用的方法: #看源代码 按住ctrl点击方法名 用户注册的小程序 import datetimeusers = []passwds = []for i in range(3 ...

  8. MongoDB知识点拾遗梳理

    MongoDB数据库安装: >apt-get install mongodb 0.MongoDB状态查看.启动.停止       >/etc/init.d/mongodb status或s ...

  9. js date setInterval 时间 时钟 getFullYear ,JavaScript

    js 创建时钟: 1.参考链接:  注意 getYear  (两位 或者 四位) 改成 getFullYear js操作时间 2.实例: html: <span class="glyp ...

  10. The eventual following stack trace is caused by an error thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access, and has no functional impact.

    好久没有冒泡了,最近在新环境上搭建应用时,启动报错: INFO: Illegal access: this web application instance has been stopped alre ...