vue 通知 走马灯效果
封装一个子组件:
<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 通知 走马灯效果的更多相关文章
- vue 实现走马灯效果
Part.1 问题 在写一个H5页面时遇到一个需求,头部公告需要滚动变换,需要实现一个走马灯效果 Part.2 实现 我的做法:利用 定时器 + CSS3 变换公告数组的顺序 从而实现走马灯效果 ...
- 初学VUE 走马灯效果
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Android TextView走马灯效果
布局: <TextView android:id="@+id/myTextView" android:layout_width="match_parent" ...
- android中设置TextView/Button 走马灯效果
在Android的ApiDemo中,有Button的走马灯效果,但是换作是TextView,还是有一点差异. 定义走马灯(Marquee),主要在Project/res/layout/main.xml ...
- android - TextView单行显示...或者文字左右滚动(走马灯效果)
条件 TextView单行显示,文字左右滚动(走马灯效果)实现条件: 实现单行设置固定宽度或者设置权重都行 代码 TextView滚动必须写下面几个属性 android:singleLine=&quo ...
- Jquery 图片走马灯效果原理
本篇只讲解水平走马灯效果,垂直向上走马灯效果不讲解,原理一样,但是水平走马灯效果有一个小坑.待会讲解 照例先上代码: HTML: <div class="box"> & ...
- 049——VUE中使用animation与transform实现vue的动画效果
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- css3 走马灯效果
纯css3实现了一个正六边形的走马灯效果,记录一下css3动画的学习情况,效果如下: 主要用到的css3技术有:keyframes.perspective.perspective-origin.tra ...
- vue实现选中效果
前情提要 好久没有写Vue了,略有生疏,这个东西还是得多用.下午看到一个需求,选择相册图片作为轮播图显示.接口返回相册列表,用户选一下再扔回去.直到我看到e.target.className我就知道这 ...
随机推荐
- Html5 <video>实现摄像头监控问题:html5并不支持rtsp协议,所以使用vlc进行转码,将rtsp转http流,这样<video>才可以直接播放
今天在写html5中播放旷视C2摄像头视频监控的功能,查了很多资料,才发现Html5 <video>并不支持rtsp协议.后来查到使用第三方转码才得以实现. 这里把方法写下来分享给大家. ...
- SQL循环表里的数据
select * into #t1 from Userinfodeclare @id varchar(2000);while (exists(select ProjectID from #t1))be ...
- 小程序获取openid 出现null,{"errcode":40163,"errmsg":"code been used, hints: [ req_id: WNUzlA0105th41 ]"}
//根据微信提供的接口,请求得到openid和session_id public class UserInfoUtils { private String getKeyURL="https: ...
- codeforces 3b之贪心算法
有货车运量V:有若干物品A 占2单位体积,有若干物品B占1单位体积:相同种类的物品价值不一定一样: 序号按照输入顺序而定:问货车可以拉走最多多少价值的物品,并输出所选物品的序号: 1)常规的解法思路: ...
- python 全栈开发笔记 3
正则表达式 正则表达式(RE)是一种小型的,高度专业化的,它镶嵌在python中,并通过re模块实现,正则表达式编译成一系列的字节码,然后由用c编写的匹配引擎执行. #正则表达式 import re ...
- 第一个HTML文档
属性 和 值 1.作用 用来修饰元素 ex:让 p 标记的文本水平居中对齐 <p>Hello World</p> 2.语法 1.属性的声明必须位于开始标记里 ...
- Python列表的增删改查和元祖
一.定义列表 1.names = ['mike','mark','candice','laular'] #定义列表 2.num_list = list(range(1,10)) #range生成1-1 ...
- java 反射与其应用
前言: 目标:对于我个人而言 我希望能由以下途径达到最终目标 清楚反射的概念以及为什么要用反射技术 -> java的反射技术 -> java反射技术涉及到的类 -> java反射技 ...
- Excel身份证验证,身份证校验公式
=IF(LEN(Q4)=0,"空",IF(LEN(Q4)=15,"老号",IF(LEN(Q4)<>18,"位数不对",IF(CH ...
- 【SoftwareTesting】Homework1
The errors I will mention after are from the project in the last semester. The project is a Java pro ...