我們都知道微信小程序的組件image是用來顯示圖片的,它有一下幾個屬性:
創(chuàng)新互聯是一家專業(yè)提供虎林企業(yè)網站建設,專注與成都做網站、成都網站制作、成都外貿網站建設、H5場景定制、小程序制作等業(yè)務。10年已為虎林眾多企業(yè)、政府機構等服務。創(chuàng)新互聯專業(yè)網站制作公司優(yōu)惠進行中。
1、src 圖片資源地址
2、mode 圖片裁剪、縮放的模式
3、binderror 當錯誤發(fā)生時,發(fā)布到 AppService 的事件名,事件對象event.detail = {errMsg: ‘something wrong'}
4、bindload 當圖片載入完畢時,發(fā)布到 AppService 的事件名,事件對象event.detail = {height:'圖片高度px', width:'圖片寬度px'}
但是image有默認的固定的寬度和高度,這樣我們在做圖片自適應的時候,就不好做了,特別是我們在做一些商品詳情頁的時候,需要image自適應屏幕,按原圖比例顯示。那么如何讓image自適應比例顯示呢?可以有兩種方法:
一、使用mode:widthFix
widthFix:寬度不變,高度自動變化,保持原圖寬高比不變。
首先我們先設置image的mode為widthFix,然后給圖片加一個固定rpx的寬度,比如:730rpx。
這樣圖片也可以自適應了。。因為小程序的rpx本身就是一個自適應顯示的單位
二、使用bindload綁定函數動態(tài)自適應。
我們可以給image綁定一個函數,這個函數,如上面的bindload說明一樣,我們可以獲取到原圖的寬度和高度。
然后計算他們的寬高比率。。然后設置一個寬度大小(rpx),最后通過style動態(tài)設置image的寬高。代碼如下:
html代碼:
<image src="{{ item }}" bindload="imageLoad" data-index="{{ index }}" ></image>
js代碼:
Page({ data: { images:{} }, imageLoad: function(e) { var $width=e.detail.width, //獲取圖片真實寬度 $height=e.detail.height, ratio=$width/$height; //圖片的真實寬高比例 var viewWidth=718, //設置圖片顯示寬度,左右留有16rpx邊距 viewHeight=718/ratio; //計算的高度值 var image=this.data.images; //將圖片的datadata-index作為image對象的key,然后存儲圖片的寬高值 image[e.target.dataset.index]={ width:viewWidth, height:viewHeight } this.setData({ images:image }) } })
最后,我們就可以可以通過images[index].width
和 images[index].height
給每一個圖片設置寬高了。
效果如下圖所示:
總結
以上所述是小編給大家介紹的微信小程序動態(tài)設置圖片大小的方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對創(chuàng)新互聯網站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!
當前標題:微信小程序動態(tài)設置圖片大小的方法
網頁路徑:http://www.2m8n56k.cn/article39/poosph.html
成都網站建設公司_創(chuàng)新互聯,為您提供品牌網站建設、虛擬主機、靜態(tài)網站、手機網站建設、定制開發(fā)、營銷型網站建設
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:[email protected]。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯