精华内容
下载资源
问答
  • jquery 滚动加载

    2014-04-08 23:05:14
    jquery 滚动加载,最简单最实用的滚动加载
  • 手机端无限滚动加载

    2018-01-15 17:22:50
    纯js 无限滚动加载页面数据,手机端无限滚动加载,手机端无限滚动加载
  • 滚动加载.zip

    2019-09-27 16:43:29
    滚动条滚动加载scrollbar, 页面底部, 聊天窗口,如果要看到最下方的内容,就必须保证滚动条保持在最底部。
  • vue实现局部滚动加载 加自定义滚动加载的指令 1. 先来实现局部的滚动加载 <template> <div class="cart"> <div class="cart-musics"> <ul class="cart-musics-ul"> <li v-for="...

    vue实现局部滚动加载 加自定义滚动加载的指令

    1. 先来实现局部的滚动加载

    <template>
      <div class="cart">
        <div class="cart-musics">
          <ul class="cart-musics-ul">
            <li v-for="(item, index) in cartMusics" :key="index">
              {{item}}
            </li>
            <li class="last-page text-tblr-center" v-show="page > last_page">~没有更多了~</li>
          </ul>
        </div>
      </div>
    </template>
    
    <script>
    export default {
      data () {
        return {
          cartMusics: ['这是测试的数据', '这是测试的数据', '这是测试的数据', '这是测试的数据', '这是测试的数据', '这是测试的数据'],
          page: 1,
          last_page: 10,
          scrollBottom: null
        }
      },
      watch: {
        // 这里监听 scrollBottom 等于0 触发获取数据的方法 否则不触发
        scrollBottom (val) {
          // console.log('我是watch监听的距离底部的距离', val)
          if (val !== 0) return false
          this.page++
          // 判断当前页数大于最后一页 return false 加载完毕
          if (this.page > this.last_page)  return false
          this.getCartMusics()
        }
      },
      mounted () {
        // this.getCartMusics()
        // 首次加载页面的时候给列表元素添加 滚动的事件监听
        document.querySelector('.cart-musics-ul').addEventListener('scroll', this.hanleScroll, true)
      },
      methods: {
        hanleScroll () {
          console.log('滚动条距离顶部的距离', document.querySelector('.cart-musics-ul').scrollTop)
          console.log('监听的元素的高度', document.querySelector('.cart-musics-ul').clientHeight)
          console.log('监听元素的滚动条的高度', document.querySelector('.cart-musics-ul').scrollHeight)
          this.scrollBottom = (document.querySelector('.cart-musics-ul').scrollHeight - document.querySelector('.cart-musics-ul').clientHeight) - document.querySelector('.cart-musics-ul').scrollTop
        },
        getCartMusics () {
          // 这里获取数据可以自行添加loading
          // 获取数据的时候body超出隐藏 不会此时屏目禁止滑动
          document.body.style.overflow = 'hidden'
          this.cartMusics = this.cartMusics.concat(['这是测试的数据', '这是测试的数据', '这是测试的数据', '这是测试的数据', '这是测试的数据', '这是测试的数据'])
          // 获取数据成功后设置body overflow为auto
          document.body.style.overflow = 'auto'
        }
      },
      beforeDestroy () {
        // document.querySelector('.cart-musics-ul').removeEventListener('scroll', this.hanleScroll, true)
      }
    }
    </script>
    
    <style lang="scss" scoped>
    .cart{
      padding-top: 50px;
      font-size: 12px;
      .cart-musics{
        margin-top: 30px;
        // overflow: hidden;
        height: 500px;
        border-bottom: 1px dashed #999999;
        border-bottom-width: 2px;
        .cart-musics-ul{
          overflow-x: scroll;
          height: 500px;
          li{
            padding: 0 10px;
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 10px;
            height: 80px;
          }
        }
      }
    }
    </style>
    

    我这的样式外层div的高度设置的500 可以自行设置高度

    下面把滚动加载的方法封装成v-loadmore 自定义指令 

    新建loadMore.js

    import Vue from 'vue'
    
    Vue.directive('loadmore', {
      // 
      inserted: (el, bind, vnode) => {
        // 这里参考管方https://cn.vuejs.org/v2/guide/custom-directive.html#%E5%8A%A8%E6%80%81%E6%8C%87%E4%BB%A4%E5%8F%82%E6%95%B0
        // el当前绑定的元素
        // console.log(el, bind, vnode)
        // 给元素添加滚动事件监听
        el.addEventListener('scroll', function () {
          console.log('绑定元素的高度:', el.clientHeight)
          console.log('绑定元素的滚动条的高度', el.scrollHeight)
          console.log('滚动条距离顶部的距离', el.scrollTop)
          console.log('滚动条的高度 - 元素的高度 - 滚动条距离顶部的距离 = 0', (el.scrollHeight - el.clientHeight) - el.scrollTop)
           // 这里的判断和上面watch监听是一样的
          if ((el.scrollHeight - el.clientHeight) - el.scrollTop === 0) {
            // binding.value来调用指令上的方法获取数据
            binding.value()
          }
        })
      }
    })
    

    页面中使用就简单很多了 可以直接使用指令绑定一个方法来调用获取数据的方法

    <template>
      <div class="cart">
        <div class="cart-musics">
          <ul class="cart-musics-ul" v-loadmore="loadMore">
            <li v-for="(item, index) in cartMusics" :key="index">
              {{item}}
            </li>
            <li class="last-page text-tblr-center" v-show="page > last_page">~没有更多了~</li>
          </ul>
        </div>
      </div>
    </template>
    
    <script>
    export default {
      data () {
        return {
          cartMusics: ['这是测试的数据', '这是测试的数据', '这是测试的数据', '这是测试的数据', '这是测试的数据', '这是测试的数据'],
          page: 1,
          last_page: 10,
          scrollBottom: null
        }
      },
      mounted () {},
      methods: {
        // 指令的方式直接调用指令上的方法
        loadMore () {
          this.page++
          // 判断当前页数大于最后一页 return false 加载完毕
          if (this.page > this.last_page)  return false
          this.getCartMusics()
        },
        getCartMusics () {
          // 这里获取数据可以自行添加loading
          // 获取数据的时候body超出隐藏 不会此时屏目禁止滑动
          document.body.style.overflow = 'hidden'
          this.cartMusics = this.cartMusics.concat(['这是测试的数据', '这是测试的数据', '这是测试的数据', '这是测试的数据', '这是测试的数据', '这是测试的数据'])
          // 获取数据成功后设置body overflow为auto
          document.body.style.overflow = 'auto'
        }
      }
    }
    </script>
    
    <style lang="scss" scoped>
    .cart{
      padding-top: 50px;
      font-size: 12px;
      .cart-musics{
        margin-top: 30px;
        // overflow: hidden;
        height: 500px;
        border-bottom: 1px dashed #999999;
        border-bottom-width: 2px;
        .cart-musics-ul{
          overflow-x: scroll;
          height: 500px;
          li{
            padding: 0 10px;
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 10px;
            height: 80px;
          }
        }
      }
    }
    </style>
    

    自己实现滚动加载就是这样的  

    知识积累,有不足的地方希望各位评论中指出来改进

    展开全文
  • jQuery懒加载插件页面滚动加载数据代码 jQuery懒加载插件页面滚动加载数据代码
  • 360网站全屏滚动加载

    2018-10-11 14:48:20
    模仿360以前的全屏滚动版本,实现全屏滚动及滚动加载,实现transtion的css3动画效果~
  • 列表无限滚动加载

    2021-04-04 16:35:43
    该源码案例是一款不错的列表无限滚动加载库,源码mugen,无限滚动加载库,支持ListView, GridView and RecyclerView ,只需几行代码,api风格类似picasso。
  • 主要介绍了jQuery滚动加载图片实现原理,通过四个方面来说明懒加载技术的原理,感兴趣的小伙伴们可以参考一下
  • 主要介绍了jquery滚动加载数据的方法,实例分析了jQuery动态加载数据的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
  • 主要为大家详细介绍了JavaScript实现无穷滚动加载数据,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • AngularJS 通过新的属性和表达式扩展了 HTML。本文主要给大家介绍Angularjs 滚动加载更多数据的相关知识,需要的朋友参考下吧
  • Infinite-Scroll无限滚动加载数据
  • jQuery局部div滚动加载远程数据
  • 下拉刷新滚动加载

    2016-12-01 14:19:22
    listview实现下拉刷新,滚动加载
  • 通过重写ExpandableListView实现分组列表的滚动加载。可以用于评论回复功能中。
  • HTMl滚动加载.rar

    2014-03-17 14:04:58
    HTMl滚动加载 滚动滚动条 向下加载div
  • 主要为大家详细介绍了iscroll.js滚动加载实例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 瀑布流滚动加载

    2016-07-08 10:18:40
    瀑布流滚动加载,有后台传输数据
  • 主要介绍了Vue 无限滚动加载指令的实现代码,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值 ,需要的朋友可以参考下
  • 今天小编就为大家分享一篇Laravel 简单实现Ajax滚动加载示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 实现滚动加载的一个功能函数,需要的朋友可以参考一下
  • 一款无限滚动加载数据替换分页操作,代码简洁易懂,没任何滚动插件。
  • 实现下拉滚动加载

    2019-07-03 17:30:36
    下拉滚动加载 首先,如果你本身需要滚动加载的块是隐藏的,那么就等他显示在监听滚动事件,否则直接在mounted里面监听就可以了 // 定义监听事件 const sealPopover = document.querySelector('.choose-seal-content....

    下拉滚动加载

    首先,如果你本身需要滚动加载的块是隐藏的,那么就等他显示在监听滚动事件,否则直接在mounted里面监听就可以了

    // 定义监听事件
    const sealPopover = document.querySelector('.choose-seal-content.seal-box');
    sealPopover.addEventListener('scroll', this.scroll, true);
    
    // 滚动时请求需要滚动加载的数据
    scroll(e) {
        if (e.target.scrollTop + e.target.clientHeight == e.target.scrollHeight) {
        	// 每加载一页当前页加一
            this.sealPage ++;
            this.getSeal('scroll', this.copyInnerCompany, this.copyCompanyIndex);
        }
    }
    
    this.axios({
       url: '/apptoken/seal/query',
        method: 'GET',
        params: {
            owner: innerCompany.companyId,
            keyword: this.searchSeal,
            pageNo: this.sealPage,
            pageSize: 10
        }
    }).then(res => {
    	// 如果总页数等于当前页数,那么就停止滚动加载
    	// 如果没有总也是,用每天显示是否是你需要的数量,如果小于停止加载
        if(res.data.result.totalPages == this.sealPage) {
            sealPopover.removeEventListener('scroll', this.scroll, true);
        } else {
            res.data.result.result.map(item => {
                this.sealList.push(item);
            });
        }
    })
    
    展开全文
  • 主要帮助大家解析javascript瀑布流原理,实现js图片滚动加载
  • mugen无限滚动加载库.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
  • JS滚动加载图片

    2017-12-01 14:23:29
    给需要滚动加载的图片添加上data-url属性,值为图片的真实地址,src属性填写一张默认图片的地址。 方法引用 确定好一个有固定高度,且有滚动条的块级元素后,调用方法imgRunLoading(string id,boolean isConstant)...
  • jquery mobile 滚动加载内容

    热门讨论 2014-04-21 20:00:45
    使用jquerymobile移动框架,利用jquery的ajax滚动加载内容。
  • 今天小编就为大家分享一篇vue 使用鼠标滚动加载数据的例子,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 图片滚动加载js

    2012-10-24 10:03:35
    一个屏幕滚动加载的js包,很好用,不用资源分的哦,快下载吧
  • jquerymobile滚动加载内容

    热门讨论 2013-08-13 16:51:04
    使用jquerymobile移动框架,利用jquery的ajax滚动加载内容。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 168,671
精华内容 67,468
关键字:

滚动加载