欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

react原生實現(xiàn)頭像滾動播放的方法

這篇文章主要講解了react原生實現(xiàn)頭像滾動播放的方法,內(nèi)容清晰明了,對此有興趣的小伙伴可以學(xué)習(xí)一下,相信大家閱讀完之后會有幫助。

成都創(chuàng)新互聯(lián)專注于扎囊企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站設(shè)計,電子商務(wù)商城網(wǎng)站建設(shè)。扎囊網(wǎng)站建設(shè)公司,為扎囊等地區(qū)提供建站服務(wù)。全流程按需網(wǎng)站策劃,專業(yè)設(shè)計,全程項目跟蹤,成都創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)

react原生實現(xiàn)頭像滾動播放的方法

之前需要的是下面這個效果

react原生實現(xiàn)頭像滾動播放的方法

現(xiàn)在。。。

憋說話,先看看效果。

react原生實現(xiàn)頭像滾動播放的方法

感覺很簡單呀,直接渲染,transform就可以了,嗯嗯,是的沒錯。

渲染出來,獲取元素,然后添加css,美中不足銜接不是很順暢,不過還是做出來了。

 <div className="avatar-transform" ref={this.tmall}>
          {!!personAvatar.length && personAvatar.map((item, index) => {
            return <div className="avatar-wrap" key={index}>
              <div><img src={item.avatar} alt="" /></div>
              <div className="avatar-name">{item.nickname.substring(0, 2)}***已參與活動</div>
            </div>
          })}
        </div>
 changeCss(){
    if(this.index === 31){
      this.tmall.current.style = `transform: translateY(${this.index * 4}rem);`
      this.getAvatar()//獲取數(shù)據(jù)
      this.index = 0
      return
    }
    this.tmall.current.style = `transform: translateY(-${this.index * 4}rem);transition: all 1s ease;`
    ++this.index
    setTimeout(()=>{
      this.changeCss()
    },3000)
  }

但是問題還是來了

一次性返回幾百條數(shù)據(jù),什么鬼,難道還直接渲染嗎,我的天,100多個,渲染出來,那酸爽,得了吧,全部渲染出來是不可能的了,這輩子都不可能全部渲染出來的了,看一下有沒什么方法沒有。

網(wǎng)上搜了一下,搜出來的是什么鬼,算了算了,還是得自己寫

思路:想了一下,可不可以,在后面添加一個節(jié)點,然后刪除最前面的節(jié)點

嗯?好像可以

還是原來的配方原來的味道

<div className="avatar-transform" ref={this.tmall}>
          {!!personAvatar.length && personAvatar.map((item, index) => {
            return <div className="avatar-wrap" key={index}>
              <div><img src={item.avatar} alt="" /></div>
              <div className="avatar-name">{item.nickname.substring(0, 2)}***已參與活動</div>
            </div>
          })}
        </div>
  getAvatar(target = false) { //獲取數(shù)據(jù)
    http.get('********').json(r => {
      if (r.error) {
        return Alert(r.msg);
      }
      //判斷一下,不是第一次請求
      if (target) {
        this.listData = r.users
        this.changeCss()
        return
      }
      //裝起來
      this.listData = r.users
      this.setState({
        personAvatar: this.listData.splice(0, 5) //先來5個
      })
      //最開始是在下面的transform: translateY(7rem),所以得上來
      this.tmall.current.style = `transform: translateY(0);transition: all 1s ease;`
      setTimeout(() => {
        this.changeCss()
      }, 3000)

    });
  }
.avatar-transform {

 transform: translateY(7rem);

}
  changeCss() {    
   let data = this.listData.shift()
    if (!data) {
      this.getAvatar(1)
      return
    }
    let div = document.createElement('div')
    div.className = "avatar-wrap"
    div.innerHTML = `<div><img src='${data.avatar}' alt="" /></div> 
    <div class="avatar-name">${data.nickname.substring(0, 2)}***已參與活動</div>`
    this.tmall.current.style = `transform: translateY(-${4}rem);transition: all 1s ease;`
    this.tmall.current.appendChild(div) //添加節(jié)點
    setTimeout(() => {
      this.tmall.current.style = `transform: translateY(0);`
      this.tmall.current.removeChild(this.tmall.current.childNodes[0]) //刪除第一個節(jié)點
    }, 1000)
    setTimeout(() => {
      this.changeCss()
    }, 3000)

  }

看完上述內(nèi)容,是不是對react原生實現(xiàn)頭像滾動播放的方法有進一步的了解,如果還想學(xué)習(xí)更多內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

當(dāng)前標題:react原生實現(xiàn)頭像滾動播放的方法
分享路徑:http://chinadenli.net/article20/gjcsco.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開發(fā)、用戶體驗、定制網(wǎng)站、域名注冊、全網(wǎng)營銷推廣、云服務(wù)器

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)