This article example shares the specific code for WeChat applet to implement text scrolling for your reference. The specific content is as follows wxml: <view>After displaying, display again:</view> <view class="example"> <view class="box"> <view class="text" style="{{orientation}}:{{marqueeDistance}}px;font-size: {{size}}px;"> {{text}} </view> </view> </view> <view>When the white border appears, it will display:</view> <view class="example"> <view class="box"> <view class="text" style="{{orientation}}:{{marqueeDistance2}}px;font-size: {{size}}px;"> <text>{{text}}</text> <text wx:if="{{marquee2copy_status}}" style="margin-left:{{marquee2_margin}}px;">{{text}}</text> </view> </view> </view> wxss: .example { display: block; width: 100%; height: 100rpx; } .box { width: 100%; position: relative; } .text { white-space: nowrap; position: absolute; top: 0; } js: Page({ data: { text: 'Scrolling text 1234567890abcdefghijklmnopqrstuvmxyz', marqueePace: 1, //Scrolling speed marqueeDistance: 0, //Initial scrolling distance marqueeDistance2: 0, marquee2copy_status: false, marquee2_margin: 60, size: 14, orientation: 'left', //Scroll direction interval: 20 // Time interval}, onShow: function() { // Page display var vm = this; var length = vm.data.text.length * vm.data.size; //text length var windowWidth = wx.getSystemInfoSync().windowWidth; //screen width vm.setData({ length: length, windowWidth: windowWidth, marquee2_margin: length < windowWidth ? windowWidth - length : vm.data.marquee2_margin //When the text length is shorter than the screen length, padding needs to be added}); vm.run1(); //After scrolling a horizontal line of words, scroll in the original direction vm.run2(); //The first word disappears and then immediately appears from the right }, run1: function() { var vm = this; var interval = setInterval(function() { if (-vm.data.marqueeDistance < vm.data.length) { vm.setData({ marqueeDistance: vm.data.marqueeDistance - vm.data.marqueePace, }); } else { clearInterval(interval); vm.setData({ marqueeDistance: vm.data.windowWidth }); vm.run1(); } }, vm.data.interval); }, run2: function() { var vm = this; var interval = setInterval(function() { if (-vm.data.marqueeDistance2 < vm.data.length) { // If the text scrolls to the white edge of marquee2_margin=30px, then display vm.setData({ marqueeDistance2: vm.data.marqueeDistance2 - vm.data.marqueePace, marquee2copy_status: vm.data.length + vm.data.marqueeDistance2 <= vm.data.windowWidth + vm.data.marquee2_margin, }); } else { if (-vm.data.marqueeDistance2 >= vm.data.marquee2_margin) { // When the second text scrolls to the leftmost vm.setData({ marqueeDistance2: vm.data.marquee2_margin // re-roll directly }); clearInterval(interval); vm.run2(); } else { clearInterval(interval); vm.setData({ marqueeDistance2: -vm.data.windowWidth }); vm.run2(); } } }, vm.data.interval); } }) The above is the full content of this article. I hope it will be helpful for everyone’s study. I also hope that everyone will support 123WORDPRESS.COM. You may also be interested in:
|
<<: How to show or hide common icons on the desktop in Windows Server 2012
>>: my.cnf parameter configuration to optimize InnoDB engine performance
Copy code The code is as follows: <div class=&...
Event bubbling, event capturing, and event delega...
When using jquery-multiselect (a control that tra...
Without further ado, let me show you the code. Th...
Preface So I wrote this blog. This blog also reco...
Install jdk: Oracle official download https://www...
Because I have been tinkering with Linux recently...
This article uses an example to describe the erro...
Table of contents Preface Demand Analysis Mysql u...
vue-element-admin import component encapsulation ...
The <area> tag defines an area in an image ...
1. The vertical-align property achieves the follo...
Table of contents Preface Is the interviewer aski...
time(); function Function prototype: time_t time(...
If you open some Microsoft documents with LibreOf...