>  기사  >  웹 프론트엔드  >  스와이프 동작 그림 단계에 대한 자세한 설명

스와이프 동작 그림 단계에 대한 자세한 설명

php中世界最好的语言
php中世界最好的语言원래의
2018-04-27 10:44:582360검색

이번에는 스와이퍼 조작 사진의 주의 사항에 대해 자세히 설명하겠습니다. 실제 사례를 살펴보겠습니다.

1. 구조

<swiper indicator-dots="{{indicatorDots}}" autoplay="{{autoplay}}" interval="{{interval}}" duration="{{duration}}" indicator-active-color="{{bg}}" style=&#39;height:{{Height}}&#39;>
   <block wx:for="{{imgUrls}}">
    <swiper-item>
      <image src="{{item}}" class="slide-image" mode="widthFix" bindload=&#39;imgHeight&#39;/>  //bindload是绑定图片加载的事件,记得给image加上mode=“widthFix”这个属性哦,还有就是设置这个image 100%宽度哟
    </swiper-item>
   </block>
</swiper>

스위퍼의 다양한 속성은 공식 문서에 나와 있으므로 여기서는 설명하지 않습니다. 가장 중요한 것은: style='height:{{Height}}' //스위퍼의 높이를 동적으로 설정합니다

2. 페이지에서:

data: {
  imgUrls: [          
    '../img/goodsDetail/goods.png',
    '../img/goodsDetail/goods.png',
    '../img/goodsDetail/goods.png'
  ],
  indicatorDots: true,
  autoplay: true,
  interval: 5000,
  duration: 1300,
  bg: '#C79C77',
  Height:""     //这是swiper要动态设置的高度属性
 },
imgHeight:function(e){
  var winWid = wx.getSystemInfoSync().windowWidth; //获取当前屏幕的宽度
  var imgh=e.detail.height;//图片高度
  var imgw=e.detail.width;//图片宽度
  var swiperH=winWid*imgh/imgw + "px"//等比设置swiper的高度。 即 屏幕宽度 / swiper高度 = 图片宽度 / 图片高度  ==》swiper高度 = 屏幕宽度 * 图片高度 / 图片宽度
  this.setData({
    Height:swiperH//设置高度
  })
},

요약: 현재 화면 너비를 가져옵니다: wx.getSystemInfoSync() .windowWidth

미니 프로그램에서 동적으로 속성을 설정하는 것은 setData({ })를 통해서만 설정할 수 있습니다. 이는 js

에서 CSS 스타일을 직접 조작하는 것과 약간 유사합니다. 참고: 이미지에 외부 컨테이너가 있는 경우 너비를 설정하세요. 이미지가 배치된 컨테이너 하단과 약간의 거리가 있습니다. 이는 이미지가 기본적으로 display:inline-block 속성으로 설정되어 간격이 생기기 때문입니다. 컨테이너를 채우려면 display:block으로 설정하면 됩니다.

이 기사의 사례를 읽은 후 방법을 마스터했다고 생각합니다. 더 흥미로운 정보를 보려면 PHP 중국어 웹사이트의 다른 관련 기사를 주목하세요!

추천 자료:

Vue 라우팅 매개변수를 동적으로 설정하는 단계에 대한 자세한 설명

vue.js 프런트엔드 및 백엔드 데이터 상호작용 단계에 대한 자세한 설명

위 내용은 스와이프 동작 그림 단계에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.