小程序文字跑馬燈效果
更新時間:2018年12月28日 09:52:17 作者:煥想
這篇文章主要為大家詳細介紹了小程序文字跑馬燈效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文實例為大家分享了小程序文字跑馬燈效果的具體代碼,供大家參考,具體內(nèi)容如下
market.wxml
<!--pages/market/market.wxml--> <view>1 顯示完后再顯示</view> <view class="example"> <view class="marquee_box"> <view class="marquee_text" style="{{orientation}}:{{marqueeDistance}}px;font-size: {{size}}px;"> {{text}} </view> </view> </view> <view>2 出現(xiàn)白邊后即顯示</view> <view class="example"> <view class="marquee_box"> <view class="marquee_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>
market.wxss
/* pages/market/market.wxss */ .example { display: block; width: 100%; height: 100rpx; } .marquee_box { width: 100%; position: relative; } .marquee_text { white-space: nowrap; position: absolute; top: 0; }
js:
Page({ data: { text: '這是一條會滾動的文字滾來滾去的文字跑馬燈,哈哈哈哈哈哈哈哈', marqueePace: 1,//滾動速度 marqueeDistance: 0,//初始滾動距離 marqueeDistance2: 0, marquee2copy_status: false, marquee2_margin: 60, size: 14, orientation: 'left',//滾動方向 interval: 20 // 時間間隔 }, onShow: function () { // 頁面顯示 var vm = this; var length = vm.data.text.length * vm.data.size;//文字長度 var windowWidth = wx.getSystemInfoSync().windowWidth;// 屏幕寬度 vm.setData({ length: length, windowWidth: windowWidth, marquee2_margin: length < windowWidth ? windowWidth - length : vm.data.marquee2_margin//當(dāng)文字長度小于屏幕長度時,需要增加補白 }); vm.run1();// 水平一行字滾動完了再按照原來的方向滾動 vm.run2();// 第一個字消失后立即從右邊出現(xiàn) }, 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) { // 如果文字滾動到出現(xiàn)marquee2_margin=30px的白邊,就接著顯示 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) { // 當(dāng)?shù)诙l文字滾動到最左邊時 vm.setData({ marqueeDistance2: vm.data.marquee2_margin // 直接重新滾動 }); clearInterval(interval); vm.run2(); } else { clearInterval(interval); vm.setData({ marqueeDistance2: -vm.data.windowWidth }); vm.run2(); } } }, vm.data.interval); } })
效果圖:
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
JavaScript+html5 canvas繪制的圓弧蕩秋千效果完整實例
這篇文章主要介紹了JavaScript+html5 canvas繪制的圓弧蕩秋千效果,以完整實例形式分析了JavaScript集合html5的canvas繪制圖形的相關(guān)技巧,需要的朋友可以參考下2016-01-01利用js實現(xiàn)可進行時間和工作調(diào)度的任務(wù)管理器
這篇文章主要為大家詳細介紹了如何利用js實現(xiàn)一個可進行時間和工作調(diào)度的任務(wù)管理器,文中的示例代碼簡潔易懂,有需要的小伙伴可以參考一下2023-10-10基于layui的table插件進行復(fù)選框聯(lián)動功能的實現(xiàn)方法
今天小編就為大家分享一篇基于layui的table插件進行復(fù)選框聯(lián)動功能的實現(xiàn)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-09-09