最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

小程序?qū)崿F(xiàn)瀑布流動(dòng)態(tài)加載列表

 更新時(shí)間:2022年07月27日 11:44:10   作者:工具人小胡  
這篇文章主要為大家詳細(xì)介紹了小程序?qū)崿F(xiàn)瀑布流動(dòng)態(tài)加載列表,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了小程序?qū)崿F(xiàn)瀑布流動(dòng)態(tài)加載列表的具體代碼,供大家參考,具體內(nèi)容如下

最近業(yè)務(wù)需要做一個(gè)商城列表,就自己寫(xiě)了一個(gè)瀑布流來(lái)加載列表。

這個(gè)列表在很多地方都需要用到,就給寫(xiě)成組件,方便使用。

1、goodsBox.js代碼

想法很簡(jiǎn)單,就是判斷兩列的高度,將數(shù)據(jù)插入低的一列。

let leftHeight = 0,
? rightHeight = 0; //分別定義左右兩邊的高度
let query;
Component({
? /**
? ?* 組件的屬性列表
? ?*/
? properties: {
? ? goodsList: {
? ? ? type: Array,
? ? ? value: []
? ? },
? ? loadingShow: {
? ? ? type: Boolean,
? ? ? value: false
? ? },
? ? noInfoShow: {
? ? ? type: Boolean,
? ? ? value: false
? ? }
? },

? /**
? ?* 組件的初始數(shù)據(jù)
? ?*/
? data: {
? ? leftList: [],
? ? rightList: []
? },
? observers: {
? // 當(dāng)goodsList發(fā)生變化時(shí)調(diào)用方法
? ? 'goodsList': function (goodsList) {
? ? ? this.isLeft()
? ? }
? },
? /**
? ?* 組件的方法列表
? ?*/
? methods: {
? ? async isLeft() {
? ? ? const {
? ? ? ? goodsList,
? ? ? ? leftList,
? ? ? ? rightList
? ? ? } = this.data;
? ? ? query = wx.createSelectorQuery().in(this);
? ? ? let list = goodsList.slice(leftList.length+rightList.length,goodsList.length)
? ? ? for (const item of list) {
? ? ? ? leftHeight <= rightHeight ? leftList.push(item) : rightList.push(item); //判斷兩邊高度,來(lái)覺(jué)得添加到那邊
? ? ? ? await this.getBoxHeight(leftList, rightList);
? ? ? }
? ? ??
? ? },
? ? getBoxHeight(leftList, rightList) { //獲取左右兩邊高度
? ? ? return new Promise((resolve, reject) => {
? ? ? ? this.setData({
? ? ? ? ? leftList,
? ? ? ? ? rightList
? ? ? ? }, () => {
? ? ? ? ? query.select('#left').boundingClientRect();
? ? ? ? ? query.select('#right').boundingClientRect();
? ? ? ? ??
? ? ? ? ? query.exec((res) => {
? ? ? ? ? ? leftHeight = res[0].height; //獲取左邊列表的高度
? ? ? ? ? ? rightHeight = res[1].height; //獲取右邊列表的高度
? ? ? ? ? ? resolve();
? ? ? ? ? });
? ? ? ? });
? ? ? })
? ? },
? }
})

這一塊需要注意的是 wx.createSelectorQuery().in(this),將選擇器的選取范圍更改為自定義組件 component 內(nèi)。微信文檔.

2、goodsBox.wxml

這邊主要就是把頁(yè)面分成兩列,一些css就不多寫(xiě)了

// wxml
<view class="box clearfix">
? <view id="left" class="left">
? ? <view class="shop_box" wx:for="{{leftList}}" wx:key="index" ></view>
? </view>
? <view id="right" class="right">
? ? <view class="shop_box" wx:for="{{rightList}}" wx:key="index" ></view>
? </view>
</view>
<view class="cu-load ?loading" wx:if="{{loadingShow}}"></view>
<view class="cu-load ?over" wx:if="{{noInfoShow}}"></view>

3、goodsBox.wxss

.left,.right{
? float: left;
}
.clearfix::after {
? content: ".";
? clear: both;
? display: block;
? overflow: hidden;
? font-size: 0;
? height: 0;
}
.clearfix {
? zoom: 1;
}

4、頁(yè)面使用

現(xiàn)在json文件里面引用組件,然后使用組件

<goodsBox id="goodsBox" goodsList="{{goodsList}}" loadingShow="{{loadingShow}}" noInfoShow="{{noInfoShow}}"></goodsBox>

每次goodsList發(fā)生變化,組件就會(huì)調(diào)用瀑布流排列方法。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 不安全的常用的js寫(xiě)法

    不安全的常用的js寫(xiě)法

    一種很常見(jiàn)的寫(xiě)法,大家都是這樣寫(xiě)的,但如果這樣的代碼,殺毒軟件認(rèn)為是病毒的吧,就太惡劣的。判斷能力也太差了。
    2009-09-09
  • JS常用函數(shù)和常用技巧小結(jié)

    JS常用函數(shù)和常用技巧小結(jié)

    這篇文章主要介紹了JS常用函數(shù)和常用技巧小結(jié)的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-10-10
  • JS實(shí)現(xiàn)的圖片選擇順序切換和循環(huán)切換功能示例【測(cè)試可用】

    JS實(shí)現(xiàn)的圖片選擇順序切換和循環(huán)切換功能示例【測(cè)試可用】

    這篇文章主要介紹了JS實(shí)現(xiàn)的圖片選擇順序切換和循環(huán)切換功能,結(jié)合完整實(shí)例形式分析了JavaScript基于事件響應(yīng)與樣式動(dòng)態(tài)操作實(shí)現(xiàn)圖片切換相關(guān)操作技巧,需要的朋友可以參考下
    2018-12-12
  • JS控制文本域只讀或可寫(xiě)屬性的方法

    JS控制文本域只讀或可寫(xiě)屬性的方法

    這篇文章主要介紹了JS控制文本域只讀或可寫(xiě)屬性的方法,涉及javascript針對(duì)頁(yè)面元素屬性的動(dòng)態(tài)操作技巧,需要的朋友可以參考下
    2016-06-06
  • javascript獲取select值的方法完整實(shí)例

    javascript獲取select值的方法完整實(shí)例

    這篇文章主要介紹了javascript獲取select值的方法,結(jié)合完整實(shí)例形式分析了javascript動(dòng)態(tài)遍歷與操作頁(yè)面元素相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2019-06-06
  • 關(guān)于JavaScript實(shí)現(xiàn)動(dòng)畫(huà)時(shí)動(dòng)畫(huà)抖動(dòng)的原因與解決方法

    關(guān)于JavaScript實(shí)現(xiàn)動(dòng)畫(huà)時(shí)動(dòng)畫(huà)抖動(dòng)的原因與解決方法

    最近在使用JS動(dòng)畫(huà)做一些練習(xí)的時(shí)候我發(fā)現(xiàn)在動(dòng)畫(huà)執(zhí)行時(shí)間內(nèi)快速移開(kāi)鼠標(biāo)時(shí)會(huì)出現(xiàn)動(dòng)畫(huà)因鼠標(biāo)移動(dòng)過(guò)快從而導(dǎo)致代碼沖突讓畫(huà)面抖動(dòng)的bug,這篇文章主要給大家介紹了關(guān)于JavaScript實(shí)現(xiàn)動(dòng)畫(huà)時(shí)動(dòng)畫(huà)抖動(dòng)的原因與解決方法,需要的朋友可以參考下
    2022-06-06
  • 瀏覽器加載、渲染和解析過(guò)程黑箱簡(jiǎn)析

    瀏覽器加載、渲染和解析過(guò)程黑箱簡(jiǎn)析

    瀏覽器加載、渲染和解析過(guò)程的黑箱分析,對(duì)于渲染,利用 Fiddler 將網(wǎng)速調(diào)慢,可以看到 css 下載后會(huì)馬上渲染到頁(yè)面,渲染和下載同步進(jìn)行,需要的朋友可以參考下
    2012-11-11
  • javascript動(dòng)態(tài)添加checkbox復(fù)選框的方法

    javascript動(dòng)態(tài)添加checkbox復(fù)選框的方法

    這篇文章主要介紹了javascript動(dòng)態(tài)添加checkbox復(fù)選框的方法的相關(guān)資料,需要的朋友可以參考下
    2015-12-12
  • JSON與JavaScript對(duì)象關(guān)系及語(yǔ)法規(guī)則詳解

    JSON與JavaScript對(duì)象關(guān)系及語(yǔ)法規(guī)則詳解

    這篇文章主要為大家介紹了JSON與JavaScript對(duì)象關(guān)系及語(yǔ)法規(guī)則詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-06-06
  • JavaScript操作元素實(shí)例大全

    JavaScript操作元素實(shí)例大全

    JavaScript可以對(duì)各種網(wǎng)頁(yè)元素進(jìn)行操控,下面這篇文章主要給大家介紹了關(guān)于JavaScript操作元素的相關(guān)資料,文中通過(guò)多個(gè)實(shí)例詳細(xì)介紹了操作元素的方法,需要的朋友可以參考下
    2021-06-06

最新評(píng)論

临漳县| 盐山县| 卢龙县| 永济市| 桦甸市| 中宁县| 敦化市| 马公市| 房产| 九龙坡区| 凌源市| 柳江县| 榆树市| 余干县| 桃江县| 嵊州市| 昌乐县| 绍兴县| 浦城县| 锡林郭勒盟| 闽侯县| 武夷山市| 老河口市| 祁门县| 巫山县| 鄄城县| 武邑县| 古丈县| 隆子县| 香港 | 石狮市| 铁岭县| 临湘市| 中宁县| 清水河县| 宜宾县| 镇原县| 浪卡子县| 闻喜县| 凌源市| 大港区|