国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

Vue頭像處理方案小結

2019-11-19 13:24:34
字體:
來源:轉載
供稿:網友

個人思路

獲取后臺返回頭像url,判斷圖片寬度,高度。

如果寬度>高度, 使其高度填充盒子 兩邊留白。

如果寬度<高度,使得寬度填充盒子 上下留白。

效果圖:

缺陷:懶加載圖片 會出現閃爍

代碼實現

<template>  // 外面要給一個div并且限制寬度和高度,text-align center,overflow hidden  <div class="head">    // userInfoList.avatar 是后臺返回給我的頭像URL    <img v-lazy="userInfoList.avatar" id="userhead" alt=""/>    </div>  <div class="fl" v-for="(item, index) in matchList" :key="index">    <div class="heads">      <img v-lazy="item.adatar" class="headitem" alt=""/>    </div>  </div ></template><script>import { head, heads } from '@/assets/js/base'  // 存放head,heads目錄引入export default {data(){ return {   listQuery:{     pg: 1,     ps: 10  }},methods:{  //獲取用戶詳情  getUserInfoList(){   getlist('mobile/user/pers/detail', funciton(res) {     if(data.code == ERR_OK){        _this.userInfoList = res.data        // 單個頭像處理,$nextTick處理去報 數據加載完成后 在進行圖        _this.$nextTick(function () {            head(res.data.avatar, 'userhead')        })        // 下拉加載多個頭像處理        res.data.item.forEach((item, index) => {          if(_this.listQuery.pg>1){ // 下拉加載時,頭像依然要進行處理             let count = (10*(_this.listQuery.pg -1) + index)             _this.$nextTick(function () {                heads(item.adatar, count, 'headitem')             })          }else{            _this.$nextTick(function () {               heads(item.adatar, index, 'headitem')            })          }        }       _this.listQuery.pg++    }  }) }

assets文件js下的base.js

// 單個頭像處理export function head (objUrl, id) {   let _userhead = document.getElementById(id)   if(_userhead){      if(objUrl){        let img = new Image()        img.src = objUrl        img.onload = function () {            let _width = img.width            let _height = img.height            if(_width >= _height){              _userhead.style.width = '100%'           }else{              _userhead.style.height = '100%'            }        }      }else{         _userhead.style.width = '100%'      }   }}// 多個頭像處理export function heads (objUrl, index, className) {    let _heads = document.getElementsByClassName(className)[index]    if(_heads){      if(objUrl){        let img = new Image()        img.src = objUrl        img.onload = function () {           let _width = img.width           let _height = img.height           if(_width >= _height){              _heads.style.width = '100%'           }else{             _heads.style.height = '100%'           }       }     }else{         _heads.style.width = '100%'     }  }}

總結

以上所述是小編給大家介紹的Vue頭像處理方案小結,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 民县| 乌苏市| 青铜峡市| 西林县| 察哈| 梁平县| 海晏县| 湟中县| 黄骅市| 潮安县| 海晏县| 平顶山市| 苗栗县| 屯留县| 应城市| 莎车县| 三明市| 沅江市| 宜宾县| 郁南县| 延津县| 长兴县| 韩城市| 许昌县| 肇源县| 固原市| 河南省| 蒙山县| 涿鹿县| 宁阳县| 元谋县| 巴彦淖尔市| 平度市| 青川县| 吴忠市| 长垣县| 平遥县| 股票| 华安县| 陇西县| 阿城市|