一级片大奶子_色又黄又爽18禁免费视频_热久久久久久久_久久久精品一区二区_日韩av不卡在线播放_精品国内自产拍在线观看视频

注冊登錄

微信小程序滾動字幕及彈幕的實現技巧

2020-09-28
導讀:微信小程序滾動字幕已經是當下微信小程序開發最熱門的話題,下面將從多方面來談談微信小程序滾動字幕及彈幕的實現技巧相關的內容。...

最新消息,微信小程序滾動字幕已經是當下微信小程序開發最熱門的話題,下面將從多方面來談談微信小程序滾動字幕及彈幕的實現技巧相關的內容。

現在網上的demo是多,但是要找到一個自己需要的卻不容易。今天跟大家分享自己寫的一個彈幕功能。微信小程序開發入門點這里

手持彈幕小程序相關熱點
手持彈幕小程序怎么使用 手機彈幕字體怎么閃光 手持彈幕添加桌面的方法
手機彈幕怎么設置蘋果手機 ipad怎么弄手持彈幕 手持彈幕安卓版
微信手持彈幕如何發送轉發 微信手持彈幕功能如何實現 led手持彈幕怎么用

先來一張效果圖:

微信小程序滾動字幕及彈幕的實現技巧

wxml代碼如下:

微信小程序滾動字幕及彈幕的實現技巧

<!-- pages/index/index.wxml -->

<swiper indicator-dots="{{indicatorDots}}"

 autoplay="{{autoplay}}" interval="{{interval}}" duration="{{duration}}">

 <block wx:for="{{imgUrls}}" wx:key="unique">

   <swiper-item>

     <image src="{{item}}" class="slide-image"/>

   </swiper-item>

 </block>

</swiper>

 

<!--彈幕開關-->

<view class="barrage-Switch" style="color:{{barrageTextColor}};">

   <switch id="switch_" bindchange="barrageSwitch"/>

   <text>彈幕</text>

</view>

 

<!--彈幕輸入框-->

 <view class="barrage-inputText" style="display:{{barrage_inputText}}">

     <view class="barrage-input">

       <input bindblur="bind_shoot" value="{{bind_shootValue}}"/>

     </view>

     <view class="barrage-shoot">

         <button class="shoot" size="mini" bindtap="shoot">發射</button>

     </view>

 </view>

 

<!--彈幕上單文字-->

<view class="barrage-fly" style="display:{{barragefly_display}}">

 <block wx:for="{{barrage_style}}" wx:key="unique">

  <text class="barrage-textFly" style="color:{{item.barrage_shoottextColor}};left:{{item.barrage_phoneWidth}}px;top:{{item.barrageText_height}}px;">{{item.barrage_shootText}}</text>

 </block>

</view>

 

wxss代碼如下:

/* pages/index/index.wxss */

.slide-image{

   width: 100%;

}

 

/* 彈幕選擇按鈕的操作*/

.barrage-Switch{

   position: absolute;

   bottom: 10px;

   right: 10px;

   z-index: 2;

}

 

/* 彈幕輸入框的操作*/

.barrage-inputText{

   position: absolute;

   display: flex;

   background-color: #BFBFBF;

   width: 100%;

   height: 40px;

   flex-direction: row;

   nav-index: 2;

   justify-content: center;

   align-items: center;

   bottom: 10%;

}

.barrage-input{

   background-color: greenyellow;

   width: 60%;

   height: 30px;

}

.barrage-shoot{

 

   margin-left: 10px;

   width: 25%;

   height: 30px;

}

.shoot{

   width: 100%;

   color: black;

}

 

/*彈幕飛飛飛*/

.barrage-fly{

   z-index: 3;

   height: 80%;

   width: 100%;

   position: absolute;

   top: 0;

}

.barrage-textFly{

   position: absolute;

 

}

 

這樣基本的樣式就都實現了。接下來要對彈幕上的字進行處理。

文字是從右往左移動,文字出現的位置top是隨機,left則是取屏幕的寬度。移動的時候是用定時器進行處理。

還有就是字體的顏色是隨機出現的。這些功能都是利用js處理的。微信小程序開發入門點這里

js的代碼如下:

var barrage_style_arr = [];

var barrage_style_obj ={};

var phoneWidth = 0;

var timers = [];

var timer ;

Page({

 data: {

   imgUrls: [

     'http://img02.tooopen.com/images/20150928/tooopen_sy_143912755726.jpg',

     'http://img06.tooopen.com/images/20160818/tooopen_sy_175866434296.jpg',

     'http://img06.tooopen.com/images/20160818/tooopen_sy_175833047715.jpg'

   ],

   indicatorDots: true,

   autoplay: true,

   interval: 3000,

   duration: 500,

   barrageTextColor:"#D3D3D3",

   barrage_inputText:"none",

   barrage_shoottextColor:"black",

   bind_shootValue:"",

   barrage_style:[],

   barragefly_display:"none",

 },

 

 

   // 生命周期函數--監聽頁面加載

 onLoad:function(options){

   var that = this;

   //獲取屏幕的寬度

     wx.getSystemInfo({

       success: function(res) {

          that.setData({

               barrage_phoneWidth:res.windowWidth-100,

          })

       }

     })

     phoneWidth = that.data.barrage_phoneWidth;

     console.log(phoneWidth);

 },

 

 //是否打開彈幕...

 barrageSwitch: function(e){

   console.log(e);

   //先判斷沒有打開

   if(!e.detail.value){

   //清空彈幕

     barrage_style_arr = [];

     //設置data的值

     this.setData({

       barrageTextColor:"#D3D3D3",

       barrage_inputText:"none",

       barragefly_display:"none",

       barrage_style:barrage_style_arr,

     });

     //清除定時器

     clearInterval(timer);

   }else{

     this.setData({

       barrageTextColor:"#04BE02",

       barrage_inputText:"flex",

       barragefly_display:"block",

     });

     //打開定時器

       timer= setInterval(this.barrageText_move,800)

   }

 },

 

 //發射按鈕

 shoot: function(e){

 

   //字體顏色隨機

   var textColor = "rgb("+parseInt(Math.random()*256)+","+parseInt(Math.random()*256)+","+parseInt(Math.random()*256)+")";

   // //設置彈幕字體的水平位置樣式

   // var textWidth = -(this.data.bind_shootValue.length*0);

   //設置彈幕字體的垂直位置樣式

   var barrageText_height = (Math.random())*266;

    barrage_style_obj = {

     // textWidth:textWidth,

     barrageText_height:barrageText_height,

     barrage_shootText:this.data.bind_shootValue,

     barrage_shoottextColor : textColor,

     barrage_phoneWidth:phoneWidth

   };

   barrage_style_arr.push(barrage_style_obj);

   this.setData({

     barrage_style:barrage_style_arr,        //發送彈幕

     bind_shootValue:""                    //清空輸入框

   })

 

     //定時器  讓彈幕動起來

     //  this.timer= setInterval(this.barrageText_move,800);

 

 },

 

//定時器  讓彈幕動起來

 barrageText_move: function(){

   var timerNum = barrage_style_arr.length;

   var textMove ;

   for(var i=0;i<timerNum;i++){

      textMove = barrage_style_arr[i].barrage_phoneWidth;

      console.log("barrage_style_arr["+i+"].barrage_phoneWidth----------:"+barrage_style_arr[i].barrage_phoneWidth);

      textMove = textMove -20;

     barrage_style_arr[i].barrage_phoneWidth = textMove;

     //走完的移除掉

     if(textMove<=-100){

//         clearTimeout(this.timer);

         barrage_style_arr.splice(0,1);

         i--;

         //全部彈幕運行完

         if(barrage_style_arr.length==0){

           this.setData({

             barrage_style:barrage_style_arr,

           })

           // clearInterval(this.timer);

           return;

         }

     }

     console.log("第"+i+"個定時器:",textMove);

     this.setData({

       barrage_style:barrage_style_arr,

     })

   }

 

 

 },

 

 //綁定發射輸入框,將值傳遞給data里的bind_shootValue,發射的時候調用

 bind_shoot:function(e){

   this.setData({

     bind_shootValue:e.detail.value

   })

 },

 

})

 

因為剛剛接觸小程序,所以對一些語句的使用都不是很了解。所以遇到了一些問題:

1、在js中獲取wxml的控件的信息。

  js:

barrageSwitch: function(e){

   console.log(e);

 }

 

wxml:

<switch id="switch_" bindchange="barrageSwitch"/>

 

結果:返回了一個objec.在控制臺返回的類型好像都是json格式的數據。

Object {type: "change", timeStamp: 2766, target: Object, currentTarget: Object, detail: Object}

 

2、在實現彈幕的時候,點擊發射按鈕,如何獲取到輸入框的信息。

在這,我是輸入框失去焦點的時候,將數據復制給js中的data類,再點擊發射的時候取data類中的值。

 

3、其中最大的問題是如何讓文字跑起來,因為小程序不支持jQuery,讓我這個js白癡有點無能為力。

在這說說自己讓文字移動的思路:

首先,在打開彈幕的時候定義一個定時器,關閉的彈幕的時候把定時器給關掉。因為我是用數組來存儲文字移動的樣式,其他確定下來。我只要改變left的大小就可以讓文字移動。所以我用for循環,當定時器運行的時候改變彈幕文字樣式 left:xxx px;的大小。微信小程序開發入門點這里

 

 


重磅推薦:小程序開店目錄

第一部分:小商店是什么

第二部分:如何開通一個小商店

第三部分:如何登錄小商店

第四部分:開店任務常見問題

第五部分:小商店可以賣什么

第六部分:HiShop小程序特色功能

第七部分:小程序直播

第八部分:小程序收貨/物流

第九部分:小程序怎么結算

第十部分:小程序客服

第十一部分:電商創業

第十二部分:小程序游戲開發

電話咨詢 微信咨詢 預約演示 0元開店
主站蜘蛛池模板: 7788.毛片|手机看成人片|日日夜夜操婷婷|亚洲日本中文字幕天天更新|免费成视频|gogogo免费观看视频高清 | 日韩一级片免费|亚洲蜜桃视频|破了亲妺妺的处免费视频国产|码18免费视频|中文字幕亚洲男人的天堂网络|国产精品一区二区2 | 国产亚洲精品一区二区三区|狠狠插综合网|把女人弄爽特黄=a大片3人|国产精品99久久久久久人免费|永夜星河免费在线观看|日日做=a爰片久久毛片=a片英语 | 999精品视频一区二区三区|内射一区二区精品视频在线观看|成人无码区免费=a∨|狠狠操五月天|久久亚洲一区二区三区成人国产|日韩欧无码一区二区三区免费不卡 | #NAME?|打开免费观看视频在线|中文字幕人妻熟女人妻|欧美精品国产|久久老司机|国产日批 | 久久精品国产91|精品不卡高清视频在线观看|毛片网子|操操操日日日|国产福利一|中文字幕色欲=aV亚洲二区 | 老汉=av免费一区二区三区|国产又大又黑又粗免费视频|黄大片日本一级在线=a|成年人黄色毛片|亚洲精品一区二区三区免|国产精品91大屁股白浆一区二区 | wwww.黄|久久久国产99久久国产久一|欧美经典一区|免费高清在线视频观看|中文字幕99|性按摩xxxx | 视频麻豆|91嫩草在线免费观看|久久国产午夜|黑人与日本少妇J=aP=aNESE|免费大片黄在线观看|91色一区二区三区 | 天天鲁啊鲁在线看|久久天天躁狠狠躁夜夜免费观看|久久精品国产亚洲=aV麻豆王友容|亚洲亚洲人成综|伊人影视久久|97精品国产手机 | 中文字幕免费中文|青青草免费在线视频观看|91探花系列在线播放|国产精品久久久久久久久久免|18禁真人抽搐一进一出在线|日本三级韩国三级人妻 | 玖玖热麻豆国产精品图片|91婷婷色|欧美h视频|国产伊人免费|99影视|久久国产日韩欧美 | 剑来高清视频在线观看|欧美一区二区日韩一区二区|亚洲欧美日韩成人高清在线一区|国模GOGO无码人体啪啪|加勒比东京热无码国产=aV|亚洲色图在线观看 | 日韩网站中文字幕|国产精品入口在线观看|少妇高潮喷水久久久影院|丰满爆乳无码一区二区三区|一区二区日本在线|婷婷777 | 久久91|伊人网中文字幕|9191免费视频|黄动漫免费在线观看|女人和拘做受大片免费看|精品无线一线二线三线 | 国产精品视频最多的网站|韓國三級大全久久網站|日韩推理片免费观看|60岁老女人高潮表现|日本免费专区|亚洲第一成人在线观看 | 日本午夜精品|亚洲艹逼视频|国产高清好大好爽受不了了|蜜臀=avwww|天天操人人看|高清国产下药迷倒白嫩美女99 | 中文字幕人妻高清乱码|久久久无码人妻精品一区|国产精品第八页|国产美女被遭强高潮网站不再|石原莉奈无删减在线观看|欧美成年网站 | 日操夜干|久久综合日|91无遮挡无码国产在线播放|亚洲视频免费网站|波多野结衣在线视频观看|亚洲国产欧美精品 | 91=av免费看|久久久夜色|免费在线观看日韩|2020亚洲天堂|中国毛茸茸性XXXX|国产精品女人久久久久久 | 少妇被粗黑进进出出在线观看|日日摸夜夜爽无码|免费久久|日韩免费视频|热播短剧玫瑰冠冕免费观看|j=ap=anese精品少妇 | 国产波霸爆乳一区二区|尤物在线网址|黑人干白妞|精品一卡2卡三卡4卡免费视频|亚洲欧美VR色区|国产性=av | 亚洲精品无码成人=a片|国产美女口爆吞精普通话|国产精品国产三级国产专播i12|91精品国产一区自在线拍|日韩特级|成人在线免费观看小视频 | 国产成人精品777|久久久久国内精品|国产乱妇无乱码大黄=a=a片|久久字幕网|一区二区三区无码高清视频|在线视频综合 | 大内密探零零性在线|中文字幕无码免费久久|xxxxx中国少妇|男男调教小太正裸体|虎白女粉嫩尤物福利视频|成人一级免费 | 奇米综合四色77777久久|精品精品国产自在97香蕉|啦啦啦在线观看|成人无码区免费=a片久久鸭软件|最近中文字幕完整视频高清1|国产精品视频免费播放 | 日本久久99成人网站|99视频在线免费看|亚洲一区成人在线观看|青草福利在线|中文字幕无线码中文字幕免费|亚洲视频h | 国产精品大全|韩国精品视频一区二区在线播放|啦啦啦www日本高清免费观看|大柠檬导航香蕉导航巨人导航|中国黄色一级|国产成人一卡2卡3卡4卡 | 久久久久高潮毛片免费全部播放|精品国产一区二区三区久久狼黑人|7878视频在线观看|国产日韩精品视频一区二区三区|#NAME?|91p九色成人 | 久久99香蕉|中国XXX农村性视频|亚洲=aV日韩=aV男人的天堂在线|国产v亚洲v天堂=a|亚洲|这里只有精品在线播放|三年片在线视频中国 | 三级国产99久久|#NAME?|亚洲第7页|贪婪欲望之岛在线|97爱亚洲|国产精品偷乱一区二区三区 | 男人视频在线观看|青青青草国产|国产成=a人亚洲精v品无码性色|91深夜|国产chinese精品露脸|日日日日做夜夜夜夜做无码 | 天天干少妇|中文字幕在线亚洲日韩6页|v片免费在线观看|国产人妻人伦=aV|日本老妇和子乱视频在线观看|少妇又色又紧又爽又高潮 | 欧美一区三区在线观看|中国黄色一及片|国产特黄色片|国产精华液一线二线三线|内射合集对白在线|日本免费无码XXXXX视频 | 亚洲=aV香蕉一区区二区三区|国产乱子轮XXX农村|新婚少妇初尝禁果|香港三日本三级少妇三级99|漂亮的女老板国产三级|国产九九九 | WWW免费视频在线观看播放|欧美日本一道本一区二区|999在线精品视频|国产十日韩十欧美|天堂网中文字幕在线观看|日韩一二三四 | 九九影院最新理论片|#NAME?|国产精品=a久久久久|高清国产亚洲精品自在久久|xnxx在线观看|性高潮一级片 老汉=av免费一区二区三区|国产又大又黑又粗免费视频|黄大片日本一级在线=a|成年人黄色毛片|亚洲精品一区二区三区免|国产精品91大屁股白浆一区二区 无码国产精品一区二区VR|欧美精品亚洲精品日韩专区v=a|欧美xxx久久|黄在线观看免费|国产草草草|7777kkk亚洲综合欧美网站 五月天色中色|蜜桃精品视频在线|日本特级=aⅴ一级毛片|二区三区4区5区6区人妻|成人毛片软件|#NAME? | 久久久999精品免费|99九九99九九九视频精品|国产高清区|一二三四在线看日本高清|国产乱轮视频|国产精品一区二区欧美 | 强奷乱码欧妇女中文字幕熟女|中国女人FREE性HD|国产精品一码二码三码在线|少妇性l交大片免费快色|久热=av在线|黑人巨大人精品欧美三区 | 人人精品久久|无码=aV潮喷|国产小视频国产精品|18深夜在线观看免费视频|好久被狂躁=a片视频无码免费视频|国产一级淫片=a免费播放鬼片 | 亚洲精品萌白酱一区|日本二三区不卡|国产精品一二三区夜夜躁|欧美激情日韩|91啦中文在线|99精品国产丝袜在线拍国语 |