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
Add monitoring host Host 192.168.179.104 is added...
1. Create a page using app.json According to our ...
Install Follow the README to install The document...
1. Environment and related software Virtual Machi...
This is to commemorate the 4 pitfalls I stepped o...
Use Docker to build a flexible online PHP environ...
In combination with the scenario in this article,...
Copy code The code is as follows: <!DOCTYPE ht...
This article example shares the specific code of ...
Table of contents 1. Implementation process of qu...
1. Command Introduction The usermod (user modify)...
How to write Vue foreach array and traverse array...
The first tutorial for installing MySQL-5.7.19 ve...
Table of contents Preface 1. Get the current time...
1. Installation of MYSQL 1. Open the downloaded M...