美文网首页
图片懒加载之视界相交判断

图片懒加载之视界相交判断

作者: 汪凡雨 | 来源:发表于2018-12-28 09:48 被阅读0次

wxml部分,结构很简单

<view class='block' style='height:1050rpx;width:100%;'></view>
  <view wx:for='{{list}}' wx:key='{{index}}' class='item item-{{index}}'>
    <image class='img {{item.show ? "active":""}}' src='{{item.show ? item.src:item.def}}'></image>
  </view>
</view>

循环的list是要生成的图片的数组,这里通过设置数组的show属性来判断是否显示图片。ps:这里用的随机生成的数据,默认显示的是一张gif图。

    list: [{
        src: 'http://lorempixel.com/640/480/nightlife',
        show: false,
        def: 'https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1545818293982&di=930d3ef0da6fac27814725dcce73693b&imgtype=0&src=http%3A%2F%2Fimg.zcool.cn%2Fcommunity%2F0195f55972f18ca8012193a342310a.gif'
      }, {
        src: 'http://lorempixel.com/640/480/fashion',
        show: false,
        def: 'https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1545818293982&di=930d3ef0da6fac27814725dcce73693b&imgtype=0&src=http%3A%2F%2Fimg.zcool.cn%2Fcommunity%2F0195f55972f18ca8012193a342310a.gif'
      }, {
        src: 'http://lorempixel.com/640/480/animals',
        show: false,
        def: 'https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1545818293982&di=930d3ef0da6fac27814725dcce73693b&imgtype=0&src=http%3A%2F%2Fimg.zcool.cn%2Fcommunity%2F0195f55972f18ca8012193a342310a.gif'
      }, {
        src: 'http://lorempixel.com/640/480/people',
        show: false,
        def: 'https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1545818293982&di=930d3ef0da6fac27814725dcce73693b&imgtype=0&src=http%3A%2F%2Fimg.zcool.cn%2Fcommunity%2F0195f55972f18ca8012193a342310a.gif'
      }

    ]
  },

js重点部分:调用api wx.createIntersectionObserver().relativeToViewPort() 绑定监听事件 根据返回的ret.intersectionRatio > 0 来判断是否出现在视界里,让它显示。

    // this.showImg();
    let list = this.data.list;
    for (let i in list) {
      wx.createIntersectionObserver().relativeToViewport().observe('.item-' + i, (ret) => {
        if (ret.intersectionRatio > 0) {
          list[i].show = true
        }
      })
    }
    this.setData({
      list
    })
  }```

相关文章

  • 图片懒加载之视界相交判断

    wxml部分,结构很简单 循环的list是要生成的图片的数组,这里通过设置数组的show属性来判断是否显示图片。p...

  • 图片懒加载的原理

    懒加载思路及实现 实现懒加载有四个步骤,如下:1.加载loading图片2.判断哪些图片要加载【重点】3.隐形加载...

  • 新闻列表懒加载

    原理: 和图片懒加载类似,都是判断临界条件。新闻列表懒加载是通过在列表后面设置一个隐藏元素span(或其他) 判断...

  • 懒加载课堂笔记

    饥人谷_李栋 定义 图片懒加载 阶段实现 如何判断图片在可视范围 代码思路 封装 懒加载抽离 曝光去重 总结 一、...

  • 项目优化

    图片懒加载,数据懒加载, 路由懒加载 1.图片懒加载原理 1.1 开始时 不设置src属性 1.2 图片在可视区域...

  • JS

    JS 懒加载,预加载 概念:懒加载也叫延迟加载:JS图片延迟加载,延迟加载图片或符合某些条件时才加载某些图片。预加...

  • 图片懒加载

    懒加载与预加载的基本概念。 懒加载也叫延迟加载:JS图片延迟加载 延迟加载图片或符合某些条件时才加载某些图片。 预...

  • 图片懒加载

    demo思路:为了让体验更好,如果页面一下要同时加载所有大量图片,会有白屏之类的体验,就懒加载。 判断图片有木有出...

  • 随笔

    判断一个数组中是否有重复的值 浏览器支持图片懒加载

  • 图片懒加载

    图片懒加载 图片懒加载在一些图片密集型的网站中运用比较多,通过图片懒加载可以让一些不可视的图片不去加载,避免一次性...

网友评论

      本文标题:图片懒加载之视界相交判断

      本文链接:https://www.haomeiwen.com/subject/kksdlqtx.html