免费国产欧美国日产_少妇AV一区二区三区无码_蜜桃精品av无码喷奶水小说_jk18禁网站视频_精产国品一二三级产品区别_被夫の上司に犯波多野结衣_78m成人手机免费看_最爽最刺激18禁视频_偷偷色噜狠狠狠狠的777米奇

易優(yōu)GEO 重磅上線 ~ 一站式GEO優(yōu)化工具,讓豆包、文心一言、DeepSeek 在回答中主動推薦你的品牌,搶占AI流量入口!  點擊查看

小程序模板網(wǎng)

自定義swiper面板指示點的樣式,image圖片自適應(yīng)寬度比例顯示

發(fā)布時間:2018-02-06 16:09 所屬欄目:小程序開發(fā)教程

 

微信小程序的swiper組件是滑塊視圖容器,也就是說平常我們看到的輪播圖就可以用它來做,不過這個組件有很多樣式是固定的,但是,有時候我們的設(shè)計稿的面板指示點是需要個性化的,那么如何去修改swiper組件的面板指示點的樣式呢?最近在使用swiper的時候也在想這個,最后發(fā)現(xiàn)在調(diào)試的時候,可以看到他的選擇器。如圖:

 

  1. <swiper class="swiper-box" indicator-dots="{{ indicatordots }}" autoplay="{{ autoplay }}">
  2. <block wx:for="{{ swiperItem }}">
  3. <swiper-item>
  4. <navigator url="{{ item.linkUrl }}">
  5. <image class="slide-image" src="{{ item.imgUrl }}"></image>
  6. </navigator>
  7. </swiper-item>
  8. </block>
  9. </swiper>
 

  1. .swiper-box .wx-swiper-dots.wx-swiper-dots-horizontal{
  2. margin-bottom: 2rpx;
  3. }
  4. .swiper-box .wx-swiper-dot{
  5. width:40rpx;
  6. display: inline-flex;
  7. height: 10rpx;
  8. margin-left: 20rpx;
  9. justify-content:space-between;
  10. }
  11. .swiper-box .wx-swiper-dot::before{
  12. content: '';
  13. flex-grow: 1;
  14. background: rgba(255,255,255,0.8);
  15. border-radius: 8rpx
  16. }
  17. .swiper-box .wx-swiper-dot-active::before{
  18. background:rgba(244,0,0,0.8);
  19. }

雖然可以通過上面的代碼修改swiper面板指示點的樣式,但是還是有局限性的,不過總算可以修改了,在此簡單記錄一下。?!?/p>

 

 

二:微信小程序image圖片自適應(yīng)寬度比例顯示的方法

我們都知道微信小程序的組件image是用來顯示圖片的,它有一下幾個屬性:  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有默認的固定的寬度和高度,這樣我們在做圖片自適應(yīng)的時候,就不好做了,特別是我們在做一些商品詳情頁的時候,需要image自適應(yīng)屏幕,按原圖比例顯示。那么如何讓image自適應(yīng)比例顯示呢?可以有兩種方法:

一、使用mode:widthFix  widthFix:寬度不變,高度自動變化,保持原圖寬高比不變。  首先我們先設(shè)置image的mode為widthFix,然后給圖片加一個固定rpx的寬度,比如:730rpx。  這樣圖片也可以自適應(yīng)了。。因為小程序的rpx本身就是一個自適應(yīng)顯示的單位  二、使用bindload綁定函數(shù)動態(tài)自適應(yīng)。  我們可以給image綁定一個函數(shù),這個函數(shù),如上面的bindload說明一樣,我們可以獲取到原圖的寬度和高度。  然后計算他們的寬高比率。。然后設(shè)置一個寬度大?。╮px),最后通過style動態(tài)設(shè)置image的寬高。代碼如下:

html代碼:

 

  1. <image src="{{ item }}" bindload="imageLoad" data-index="{{ index }}"
  2. style="width:{{ images[index].width }}rpx; height:{{ images[index].height }}rpx;"></image>

js代碼:

 

  1. Page({
  2. data: {
  3. images:{}
  4. },
  5. imageLoad: function(e) {
  6. var $width=e.detail.width, //獲取圖片真實寬度
  7. $height=e.detail.height,
  8. ratio=$width/$height; //圖片的真實寬高比例
  9. var viewWidth=718, //設(shè)置圖片顯示寬度,左右留有16rpx邊距
  10. viewHeight=718/ratio; //計算的高度值
  11. var image=this.data.images;
  12. //將圖片的datadata-index作為image對象的key,然后存儲圖片的寬高值
  13. image[e.target.dataset.index]={
  14. width:viewWidth,
  15. height:viewHeight
  16. }
  17. this.setData({
  18. images:image
  19. })
  20. }
  21. })

最后,我們就可以可以通過images[index].width 和 images[index].height給每一個圖片設(shè)置寬高了。  以上是自己在玩小程序時,關(guān)于image自適應(yīng)方法的簡單記錄。。

效果如下圖所示:


本文地址:http://www.szcjxy.com/wxmini/doc/course/21651.html 復(fù)制鏈接 如需定制請聯(lián)系易優(yōu)客服咨詢: 點擊咨詢
在線客服