溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

超簡(jiǎn)單的微信小程序輪播圖

發(fā)布時(shí)間:2020-09-19 00:00:22 來(lái)源:腳本之家 閱讀:210 作者:大灰狼吃小白兔 欄目:web開(kāi)發(fā)

Tips:微信小程序可以在HbuilderX用HTML標(biāo)簽(如Ddiv、span等)寫(xiě)前端代碼,也可以用微信小程序語(yǔ)法寫(xiě)(view、swiper標(biāo)簽),然后npm run dev編譯后,在微信開(kāi)發(fā)者工具里面導(dǎo)入該項(xiàng)目,就可以調(diào)試項(xiàng)目,查看效果。

效果圖:

超簡(jiǎn)單的微信小程序輪播圖

微信小程序?qū)崿F(xiàn)輪播圖,本例是在*.wpy頁(yè)面開(kāi)發(fā)(該頁(yè)面的temlate內(nèi)容對(duì)應(yīng)小程序的wxml,style樣式對(duì)應(yīng)小程序的wxss,script對(duì)應(yīng)小程序的js文件,config對(duì)應(yīng)小程序的json文件)

<style type="less" scoped="scoped">
  .swiper image {
   width: 100%;
   height: auto;
 }
 
  .swiper-image {
   height: 100%;
   width: 100%;
  }
 
  .slide-image {
   height: 100%;
   width: 100%;
   display: block;
  }
</style>
<template>
   <view class="swiper">
    <swiper indicator-dots="{{indicatorDots}}" vertical="{{vertical}}" autoplay="{{autoplay}}" duration="{{duration}}" interval="{{interval}}" indicator-active-color="#007aff" bindchange="bindchange" circular="{{circular}}"
      >
      <block wx:for="{{GoodsDatas.imgshow}}" wx:for-key="{{index}}" wx:for-item="image">
        <swiper-item>
          <image src="{{image.img}}" data-id="{{index}}" class="slide-image" mode="widthFix" bindload="imageLoad" />
        </swiper-item>
       </block>
     </swiper>
   </view>
</template>
<script>
 import wepy from '@wepy/core'
 wepy.page({
  data: {
   circular: true,
   //是否顯示畫(huà)板指示點(diǎn),根據(jù)圖片數(shù)量自動(dòng)生成多少個(gè)圓點(diǎn)
   indicatorDots: true,
   //選中點(diǎn)的顏色
   //是否豎直
   vertical: false,
   //是否自動(dòng)切換
   autoplay: true,
   //自動(dòng)切換的間隔
   interval: 3000,
   //滑動(dòng)動(dòng)畫(huà)時(shí)長(zhǎng)毫秒
   duration: 1000,
   //所有圖片的高度
   imgheights: [],
   //圖片寬度
   imgwidth: 320,
   //默認(rèn)
   current: 0
  },
  imageLoad: function(e) { //獲取圖片真實(shí)寬度
   var imgwidth = e.detail.width,
    imgheight = e.detail.height,
    //寬高比
    ratio = imgwidth / imgheight;
   console.log(imgwidth, imgheight)
   //計(jì)算的高度值
   var viewHeight = 750 / ratio;
   var imgheight = viewHeight;
   var imgheights = this.data.imgheights;
   //把每一張圖片的對(duì)應(yīng)的高度記錄到數(shù)組里
   imgheights[e.target.dataset.id] = imgheight;
   this.setData({
    imgheights: imgheights
   })
  },
  bindchange: function(e) {
   // console.log(e.detail.current)
   this.setData({
    current: e.detail.current
   })
  }
 })
</script>

將代碼粘過(guò)去之后,只需要修改循環(huán)對(duì)象為圖片數(shù)據(jù)就可以了。

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

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI