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

注冊登錄

微信小程序中實現瀑布流布局和無限加載

2017-06-05
導讀:瀑布流布局是一種比較流行的頁面布局方式,最典型的就是Pinterest.com,每個卡片的高度不都一樣,形成一種參差不齊的美感。在HTML5中,我們可以找到很多基于jQuery之類實現的瀑布流布...
瀑布流布局是一種比較流行的頁面布局方式,最典型的就是Pinterest.com,每個卡片的高度不都一樣,形成一種參差不齊的美感。 在HTML5中,我們可以找到很多基于jQuery之類實現的瀑布流布局插件,...

瀑布流布局是一種比較流行的頁面布局方式,最典型的就是Pinterest.com,每個卡片的高度不都一樣,形成一種參差不齊的美感。

在HTML5中,我們可以找到很多基于jQuery之類實現的瀑布流布局插件,輕松做出這樣的布局形式。在微信小程序中,我們也可以做出這樣的效果,不過由于小程序框架的一些特性,在實現思路上還是有一些差別的。

今天我們就來看一下如何在小程序(http://www.gstsqh.com.cn/xiaocx/)中去實現這種瀑布流布局:

微信小程序中實現瀑布流布局和無限加載

小程序瀑布流布局

我們要實現的是一個固定2列的布局,然后將圖片數據動態加載進這兩列中(而加載進來的圖片,會根據圖片實際的尺寸,來決定到底是放在左列還是右列中)。

/* 單個圖片容器的樣式 */.img_item {  width: 48%;  margin: 1%;  display: inline-block;  vertical-align: top;
}

我們知道,在HTML中,我們要動態加載圖片的話,通常會使用new Image()創建一個圖片對象,然后通過它來動態加載一個url指向的圖片,并獲取圖片的實際尺寸等信息。而在小程序框架中,并沒有提供相應的JS對象來處理圖片加載。其實我們可以借助wxml中的組件來完成這樣的功能,雖然有點繞,但還是能滿足我們的功能要求的。


 

我們可以在Page中通過數據綁定,來傳遞要加載的圖片信息到wxml中,讓組件去加載圖片資源,然后當圖片加載完成的時候,通過bindload指定的事件處理函數來做進一步處理。

我們來看一下Page文件中定義的onImageLoad函數。在其中,我們可以從傳入的事件對象e上,獲取到組件的豐富信息,包括通過它加載進來的圖片的實際大小。然后我們將圖片按照頁面上實際需要顯示的尺寸,計算出同比例縮放后的尺寸。接著,我們可以根據左右兩列目前累積的內容高度,來決定把當前加載進來的圖片放到哪一邊。

let col1H = 0;let col2H = 0;

Page({    data: {        scrollH: 0,        imgWidth: 0,        loadingCount: 0,        images: [],        col1: [],        col2: []
   },    onLoad: function () {
       wx.getSystemInfo({            success: (res) => {                let ww = res.windowWidth;                let wh = res.windowHeight;                let imgWidth = ww * 0.48;                let scrollH = wh;                this.setData({                    scrollH: scrollH,                    imgWidth: imgWidth
               });                //加載首組圖片
               this.loadImages();
           }
       })
   },    onImageLoad: function (e) {        let imageId = e.currentTarget.id;        let oImgW = e.detail.width;         //圖片原始寬度
       let oImgH = e.detail.height;        //圖片原始高度
       let imgWidth = this.data.imgWidth;  //圖片設置的寬度
       let scale = imgWidth / oImgW;        //比例計算
       let imgHeight = oImgH * scale;      //自適應高度

       let images = this.data.images;        let imageObj = null;        for (let i = 0; i < images.length; i++) {            let img = images[i];            if (img.id === imageId) {
               imageObj = img;                break;
           }
       }

       imageObj.height = imgHeight;        let loadingCount = this.data.loadingCount - 1;        let col1 = this.data.col1;        let col2 = this.data.col2;        //判斷當前圖片添加到左列還是右列
       if (col1H <= col2H) {
           col1H += imgHeight;
           col1.push(imageObj);
       } else {
           col2H += imgHeight;
           col2.push(imageObj);
       }        let data = {            loadingCount: loadingCount,            col1: col1,            col2: col2
       };        //當前這組圖片已加載完畢,則清空圖片臨時加載區域的內容
       if (!loadingCount) {
           data.images = [];
       }        this.setData(data);
   },    loadImages: function () {        let images = [
           { pic: "../../images/1.png", height: 0 },
           { pic: "../../images/2.png", height: 0 },
           { pic: "../../images/3.png", height: 0 },
           { pic: "../../images/4.png", height: 0 },
           { pic: "../../images/5.png", height: 0 },
           { pic: "../../images/6.png", height: 0 },
           { pic: "../../images/7.png", height: 0 },
           { pic: "../../images/8.png", height: 0 },
           { pic: "../../images/9.png", height: 0 },
           { pic: "../../images/10.png", height: 0 },
           { pic: "../../images/11.png", height: 0 },
           { pic: "../../images/12.png", height: 0 },
           { pic: "../../images/13.png", height: 0 },
           { pic: "../../images/14.png", height: 0 }
       ];        let baseId = "img-" + (+new Date());        for (let i = 0; i < images.length; i++) {
           images[i].id = baseId + "-" + i;
       }        this.setData({            loadingCount: images.length,            images: images
       });
   }

})

這里是顯示在兩列圖片的wxml代碼,我們可以看到在組件上,我們通過使用bindscrolltolower設置了事件監聽函數,當滾動到底部的時候,會觸發loadImages去再加載下一組的圖片數據,這樣就形成了無限的加載:


 
   
     
       
     
   
   
     
       
     
   
 

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

第一部分:小商店是什么

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

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

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

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

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

第七部分:小程序直播

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

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

第十部分:小程序客服

第十一部分:電商創業

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

電話咨詢 微信咨詢 預約演示 0元開店
主站蜘蛛池模板: 午夜自产精品一区二区三区|日本高清一区|亚洲中文欧美日韩在线|一级一级一级一级毛片|国产对白视频|无套无码孕妇啪啪 | #NAME?|青青草在线视频免费观看|久草免费福利|日日噜噜夜夜狠狠爱视频免费樱桃|国产精品一级=a级理论片在线观看|亚洲狠狠色综合蜜桃 | 成人久久18免费网站图片|一本久道久久综合婷婷五月|色窝窝免费一区二区三区|国产无遮挡在线观看免费=aV|freexxx性麻豆hd16|国产精品久久久久久久网 | 台湾成人=av|91porny九色打屁股|日本少妇内射视频播放舔|日本一区二区在线免费观看|日韩一区精品视频一区二区|亚洲一区自拍高清亚洲精品 | 免费在线观看黄色大片|综合一区无套内射中文字幕|你好星期六在线免费观看|91探花福利精品国产自产在线|成人18夜夜网深夜福利网|九九影院理论片在线观看一级 | 国产精品久久国产三级国不卡顿|2021国内精品久久久久精免费|天天舔天天插|2021国产在线观看不卡视频|久久久久国色=a∨免费看|伊人国产精品视频 | 一区二区三区视频免费看|久久爱伊人|日本大尺度吃奶做爰久久久绯色|日韩精品视频免费在线观看|亚洲系列一区中文字幕|天堂视频一区二区 | 在线视频爽爽|最新中文字幕=aV无码不卡|精品无码国产自产拍在线观看蜜|h333.tv免费看片|色哟哟软件|国产乱子伦一区二区三区= | 99爱在线免费观看|亚洲日韩欧美精品国产|色婷婷偷拍|日本人jizz亚洲人|国产在线线精品宅男网址|午夜内射中出视频 | 亚洲=av禁18成人毛片一级在线|九九在线视频免费观看|饥渴少妇高潮正在播放|欧美成人精品高清视频在线观看|伊人久久大香线蕉综合色狠狠|黄色片一级的 | 亚洲午夜久久久综合37日本|欧美高潮抽搐喷水大叫|啪一啪鲁一鲁|亚洲欧洲美洲无码精品V=a|亚洲高清视频网站|三级黄色影院 | 免费无码成人=aV在线播放不卡|美女一区二区三区四区|男女激情麻豆|4虎四虎永久在线精品免费|黄色录像www|顶级丰满少妇自慰到喷水 | 午夜无码伦费影视在线观看|在线看成人片|免费在线观看黄色=av|#NAME?|日韩=a∨精品日韩在线观看|精品人妻无码一区二区色欲产成人 | 亚洲v=a欧美v=a国产v=a黑人|蜜臀=av午夜一区二区三区gif|69人人|国产精品免费大片|亚洲日产=av中文字幕|国产精品香蕉成人网在线观看 | #NAME?|天天澡天天弄天天摸|欧美日韩爱爱|亚洲欧美成=aⅴ人在线观看|久久青草伊人|日韩亚=av无码一区二区三区 | 亚洲精品久久无码午夜一区二区|久久无码7区|99久久久精品视频|亚洲=a成人无码网站在线|99热久久免费频精品18|亚洲黄在线观看 | 爱情岛论坛亚洲永久入口口|国产欧美精品一二三|久久免费视频1|初尝人妻少妇中文字幕|光棍久久|中文字幕在线观看第一页 | 色播六月天|色综合久久久久久久久久|国产精品久久久久不卡绿巨人|国产精品视频一区国模私拍|久久婷综合|精品麻豆剧传媒=av国产 | 91久久青草|欧洲黄色毛片|伊人高清视频|久热综合|九久久久|视频色黄色毛片 | 夫妻性生活黄色一级片|奇米精品一区二区三区四区|一级毛片啪啪|一区二区三区中文在线|国产精选大秀一区二区|高潮影院 | h七七www色午夜日本|九九热视频精品在线观看|麻豆91地址|美女裸体无遮挡黄污网站|亚洲欧美久久精品|在线观看区 | 国产精品天干天干综合网|亚洲精品视频免费看|日本内射精品一区二区视频|亚洲日韩=aⅴ在线视频|美女1区2区3区|999久久 | 汉服女装齐胸襦裙被c到喷水|h=aodi=aoc=ao这里只有精品视频|国产精华=av午夜在线观看免费|久久美女免费视频|www.91免费视频|#NAME? | j=ap=anese熟睡侵犯|无码精品日韩中文字幕|国产黄色在线看|欧美高清g=ayxxx|日韩每日更新|777777影院 | 一级做=a免费视频|这里只有精品一区二区国产|国产熟女乱子视频正在播放|日韩h在线观看|日韩精品免费视频|麻豆成人影院 | 蜜桃=av久久精品人人槡|国产一区二区不卡|色偷偷青青草|欧美精品成人一区二区在线观看|人妻妺妺窝人体色WWW聚色窝|欧美黄色免费视频 | 宅男噜噜噜66国产在线观看|色姑娘综合|99久久久国产精品日本久久区一|亚洲成人自拍网|国产亚洲精品第一综合另类|精品亚洲一 | 国产免费一区二区三区在线能观看|久久综合9988久久爱|四虎影院久久|国产精品三区在线观看|日本一上一下爱爱免费|麻豆传媒视频 | 国产极品美女高潮无套软件|亚洲精品视频区|免费精品一区二区三区在线观看|国产SM调教折磨视频|娇妻在厨房被朋友玩得呻吟|伊人成色综合人夜夜久久 | 国产草莓精品国产=av片国产|91影视在线|76少妇国内精品视频|中文字幕人妻丝袜美腿乱|国产日韩欧美视频免费看|国产精品久久无码一区 | 白浆视频在线观看|亚洲国产欧美一区二区三区|一二三四在线观看免费高清视频|国产又黄又爽又刺激的免费网址|免费观看成人毛片=a片入口少|美女亚洲网 | 91精品国产福利一区二区三区|精品国产区一区|亚洲国产三区|高挑美女被遭强高潮视频|无码熟妇αⅴ人妻又粗又大|国产真实夫妇6p酒店交换 | 日日操夜夜撸|日本69xxxxxxxx|性欧美videos另类hd|日本一区二区三区久久久久久久久不|国产午夜福利精品一区|久久国产亚洲精品赲碰热 | 91免费版|黄色在线亚洲|99国产精|黄色=a级|黄色视频一级毛片|清清草在线视频 | 国产精品卡1卡2卡3|色八网站首页|潜行者40集免费观看视频|国产精品国产三级国产传播|小嫩妇下面好紧好爽视频|亚洲综合精品伊人久久 | 日本公交车上xxxxhd少妇|五月开心六月伊人色婷婷|97国产suv精品一区二区62|久久99精品久久久久久久清纯|精品国产欧美日韩|黄色网页入口 | 国产日本无码视频韩国网站写真|国产又色又爽又刺激在线播放|亚洲精品456在线播放牛牛影院|久久久亚洲国产|午夜视频成人|国产伦孑沙发午休精品 | 色播六月天|色综合久久久久久久久久|国产精品久久久久不卡绿巨人|国产精品视频一区国模私拍|久久婷综合|精品麻豆剧传媒=av国产 | 操逼视频软件|免费=a级毛视频|超碰最新在线|免费无码又色又爽又黄的视频软件|jizz亚洲国产|极品少妇的粉嫩小泬看片 | 免费一区二区|在线看你懂得|国产高清在线喷奶水|国产精品国产精品国产专区不片|亚洲精品久久无码=av片动漫网站|亚洲精品9999久久久久 | 国内一级片在线观看|精品成人佐山爱一区二区|色偷偷9999WWW|午夜香吻免费观看视频在线播放|久久任你操|国=a产久v久伊人 |