weex踩坑之底部元素固定悬浮,其他内容滑动浏览

如图,我想实现底部固定不动,其他内容上下滑动的效果。图片有点难看,第一次将mp4转gif,将就看下就好哈。


  1. <div>标签在native中是不可以滑动的,即使设置了告诉也不能滑动
  2. weex中提供了一个滚动器<scroller>标签,只要子组件的总告诉高于<scroller>标签,那么所有的子组件都可以滑动。

看到这里我的实现思路是:将除底部元素块以外的其他所有元素都用一个<scroller>标签包起来,这时候你会发现,依然不能滑动。因为没有给<scroller>加高度,子组件的高度与<scroller>的高度一致。

这时候又想,可我并不知道scroller的高度应该定义为多少才准确。试过用标准的1334px-260px(底部固定元素块的总高度),但是在真机上跑高度不准确。导致下面的内容滑不上去看不到。

这样的话就意味着我需要知道设备的高度,然后再减去底部固定元素的高度,动态改变<scroller>的高度了。WXEnvironment变量可以换取设备的屏幕或环境信息。用获取到的设备高度-底部固定元素高度,理论上就应该是<scroller>的高度了。

然而事实是,依然不准确。

本来想截图上来的,但是编辑这篇文章的时候网卡,开不了服务,后面我再补哈哈哈

最后的解决方案:

<scroller>标签增加以下样式:

background-color: rgb(238, 238, 238);
position: fixed;
top: 0px;
bottom: 260px;  //底部元素块的总高度
left: 0px; 
right: 0px;复制代码

完美,搞定。

这里还有两个问题:

  1. <scroller>标签的最外层标签,如果加了background-color样式是不会有效果的。

    <div style="background-color:#f00">
    <scroller>
        <div></div></scroller>
          <div>
              //底部固定元素块
          </div>
    </div>
    
    //这样背景颜色是无效的,必须将背景颜色样式加载<scroller>标签上。因为<scroller>脱离文档流了复制代码
  2. <scroller>标签中的子代元素必须加上宽度
    <div>
        <scroller>
          <div style='width:750px;'>
        <div>
           //这个可不加
        </div>      </div>
          <div style='width:750px;'></div>
        </scroller>
        <div>
          //底部固定元素块
        </div>
    </div>
    复制代码


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值