轻源码

  • QingYuanMa.com
  • 全球最大的互联网技术和资源下载平台
搜索
一起源码网 门户 微信小程序 查看主题

微信小程序小技巧系列《四》使元素占满整个屏幕高度,修改swiper 圆点样式 ... ... ...

发布者: pizi | 发布时间: 2018-2-25 14:57| 查看数: 4254| 评论数: 1|帖子模式

本文第一部分作者为这名字就是霸气,来自授权地址
一:微信小程序中使元素占满整个屏幕高度
在项目中经常要用到一个容器元素占满屏幕高度和宽度,然后再在这个容器元素里放置其他元素。

宽度很简单就是width:100%

但是高度呢,我们知道的是height:100%必须是在父元素的高度给定了的情况下才可以。

以前我的做法是用js获取屏幕的高度,然后将其赋值给height,

屏幕高度在网页中为:window.innerHeight;

在微信小程序中则需要调用wx.getSystemInfo接口,然后通过setData赋值

但是显然通过js来进行的,效率上肯定不如css直接给定样式。


于是我们使用另一种方法:

在网页中设置body,html{height:100%};

将body和html设置为100%,这样我们就可以在他们的子元素中使用height:100%来使的我们的容器元素占满屏幕的高度啦。

但是在微信小程序中,是没有dom对象的,但是我们看调试工具可以看到在dom树(我也不知道怎么叫了,就这么叫吧)中,根节点是page,所以我们来试试使用page{height:100%}

果然,是可行的。高度占满了整个小程序的窗口。

二:swiper 圆点样式怎么修改
  1. page .wx-swiper-dot{
  2. width: 18rpx;
  3. display: inline-flex;
  4. height: 18rpx;
  5. margin-right: 18rpx;
  6. }
  7. page .wx-swiper-dot::before{
  8. content: '';
  9. background: #8c8c8f;
  10. flex-grow: 1;
  11. border-radius: 100%;
  12. }
  13. page .wx-swiper-dot-active::before{
  14. content: '';
  15. background:#fff;
  16. flex-grow: 1;
  17. border-radius: 100%;
  18. }

三:判断当前项让其滑动
场景如下:
wx:for动态读取一个列表,绑定touchstart、touchmove、touchend事件,代码如下

  1. <block wx:for="{{arrayList}}">
  2. <view catchtouchstart="touchstart" catchtouchmove="touchmove" catchtouchend="touchmove">{{username}}</view>
  3. </block>
现在不管滑动哪一项都是所有列表一块儿动,要怎么判断当前项让其滑动?

解决方法:每个item都加入一个style="left:{{arrayList.left}}",然后滑动的时候动态改变left(当前项实际数值,其他项0)

最新评论

黑糖学长 发表于 2022-5-25 17:33
源代码电影完整版免费

轻源码让程序更轻更快

QingYuanMa.com

工作时间 周一至周六 8:00-17:30

侵权处理

客服QQ点击咨询

关注抖音号

定期抽VIP

Copyright © 2016-2021 https://www.171739.xyz/ 滇ICP备13200218号

快速回复 返回顶部 返回列表