实现一个微信小程序组件:文字跑马灯效果
2024-08-27 11:14:01
- marquee.json
{
"component": true,
"usingComponents": {}
}
- marquee.wxml
<!--components/marquee.wxml-->
<view class='marquee_container'>
<view class='marquee_text' style='{{ orientation }}:{{ marqueeDistance }}px;font-size: {{size}}px;'>
{{ text }}
</view>
</view>
- marquee.wxss
/* components/marquee.wxss */
.marquee_container {
position: relative;
width: 100%;
} .marquee_text {
position: absolute;
white-space: nowrap;
top:;
}
- marquee
// components/marquee.js
Component({
/**
* 组件的属性列表
*/
properties: {
text: {
type: String,
value: 'ILoveEwei'
}
}, /**
* 组件的初始数据
*/
data: {
marqueePace: 1,
marqueeDistance: 0,
size: 14,
orientation: 'left',
interval: 20
}, /**
* 组件的方法列表
*/
methods: {
_scrolling: function() {
var _this = this;
var timer = setInterval(()=> {
if(-_this.data.marqueeDistance < _this.data.length) {
_this.setData({
marqueeDistance: _this.data.marqueeDistance - _this.data.marqueePace
})
} else {
clearInterval(timer);
_this.setData({
marqueeDistance: _this.data.windowWidth
});
_this._scrolling();
}
},_this.data.interval);
}
}, created: function() {
var _this = this;
var length = _this.data.text.length * _this.data.size;
var windowWidth = wx.getSystemInfoSync().windowWidth
_this.setData({
length: length,
windowWidth: windowWidth
});
_this._scrolling();
}
})
以上就是我定义在components文件夹的组件,剩下就是引用组件
- demo.json
{
"usingComponents": {
"marquee": "../../components/marquee"
}
}
- demo.wxml
<marquee text="我爱你我爱你我爱你"></marquee>
转 : https://www.jianshu.com/p/0ff03e5e942e
最新文章
- keepalived+nginx高可用负载均衡环境搭建
- 性能测试学习之二 ——性能测试模型(PV计算模型)
- 一个最简单的ftpsever
- TestNg依赖高级用法之强制依赖与顺序依赖------TestNg依赖详解(二)
- ext3文件系统反删除利器-ext3grep
- C#获取当前页面的url
- Sharepoint 2010 RBS 的安装和配置
- python——lambda
- 《Java从入门到放弃》JavaSE篇:综合练习——单身狗租赁系统(数组版)
- scrapy_xpath
- New FileReader上传图片
- VMwaretools、共享文件夹、全屏
- 复位windows网络参数的方法
- discuz 3.1论坛快照被百度劫持解决方案
- css后代选择器
- Zuul权限检验
- asp.net验证码
- 用ActionController::Renderer的render方法渲染模版
- Spring AOP详解和实现方式
- WCF技术我们应该如何以正确的方式去学习掌握
热门文章
- JavaScript中进制和字符编码问题
- 前台.cshtml得到session值方法
- Java Data JPA +hibernate 保存或者是查询遇到的坑
- [ipsec][strongswan] strongswan源码分析--(四)plugin加载优先级原理
- Python之路【第十篇】Python操作Memcache、Redis、RabbitMQ、SQLAlchemy
- PHP危险函数的持续学习
- 【转】通过BeanNameAutoProxyCreator改变臃肿代码
- P1281 书的复制[二分]
- Visual Studio 快捷键、常见问题
- java继承(implements与extends)总结