이번에는 스와이퍼 캐러셀에서 그림의 적응 높이를 작동하는 방법을 보여 드리겠습니다. 스와이퍼 캐러셀에서 그림의 적응 높이를 작동할 때 주의 사항은 무엇입니까? .
미니 프로그램의 캐러셀 이미지는 매우 간단하고 공식적인 예도 있지만 유일한 결점은 스와이프의 높이가 150px로 고정되어 있어 수신 이미지가 이 높이보다 크면 숨겨진다는 것입니다. 무엇, 사진을 다양한 해상도에 맞게 조정하려면 어떻게 해야 합니까?
내 생각은: 화면 너비를 구하고, 이미지의 너비와 높이를 구한 다음, 현재 화면 너비 아래의 스와이프 높이를 같은 비율로 설정하는 것입니다.
1. 구조
<swiper indicator-dots="{{indicatorDots}}" autoplay="{{autoplay}}" interval="{{interval}}" duration="{{duration}}" indicator-active-color="{{bg}}" style='height:{{Height}}'> <block wx:for="{{imgUrls}}"> <swiper-item> <image src="{{item}}" class="slide-image" mode="widthFix" bindload='imgHeight'/> //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 스타일을 직접 조작하는 것과 약간 유사합니다. 참고: 이미지에 외부 컨테이너가 있는 경우 이미지 너비 100%로 설정되어 있습니다. 이미지가 기본적으로 display:inline-block 속성으로 설정되어 있기 때문에 배치된 컨테이너 하단과 약간의 거리가 있습니다. 컨테이너를 채우려면 디스플레이:블록으로 설정하면 됩니다.
이 기사의 사례를 읽은 후 방법을 마스터했다고 생각합니다. 더 흥미로운 정보를 보려면 PHP 중국어 웹사이트의 다른 관련 기사를 주목하세요!
추천 도서:
관리 시스템을 구현하기 위해 antd 구성 요소와 반응을 사용하는 방법
위 내용은 스위퍼 캐러셀에서 사진의 적응형 높이를 작동하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!