vue【一】 实现 @scroll

<template>

  <div class="activity-wrap">
      <div class="activity-list"  @scroll="loadMore">
        <div class="activity-item"  v-for="item in activityList">
          <div class="name">
            <div>{{item.name}}</div>
            <div>碳积分</div>
          </div>
          <div class="name">
            <div>{{item.status}}</div>
            <div>{{item.integralValue}}</div>
          </div>
          <div class="name">
            <span>活动时间:</span>
            <span>{{item.time}}</span>
          </div>
          <div class="name">
            <div>活动承诺:</div>
            <div>{{item.detail}}</div>
          </div>
        </div>
        <p style="text-align: center;font-size: 14px;color: #5e6d82;line-height: 1.5em;" v-if="pageFlag && pageNo*10 < totalCount">加载中...</p>
        <p style="text-align: center;font-size: 14px;color: #5e6d82;line-height: 1.5em;" v-if="pageNo*10 > totalCount">已经没有更多了...</p>
      </div>


  </div>

</template>

<script>
    export default {
        name: "activity",
        data () {
            return {
                activityList: [ ],
                roomsOff:true,
                pageNo:1,
                totalCount:0,
                pageFlag:false,
                courts:[],
            }
        },
        created() {
            for(var i = 1; i <= 10; i++){
                this.activityList.push(
                    {
                        name:"低碳快闪"+i,
                        status:'进行中'+i,
                        integralValue:'30'+i,
                        time:'5.30 20:00-22:00',
                        detail:'活动时间内减少使用家庭大功率电器,填写户号及相应信息可活动网上国网App积分。'
                    }
                );
                this.totalCount=99;
            }
        },

        methods: {
            loadMore(e){
                console.log("========================="+this.pageNo)
                console.log(this.pageNo*10)
                console.log(e.target.scrollHeight - e.target.scrollTop-e.target.offsetHeight)
                if(e.target.scrollHeight - e.target.scrollTop-e.target.offsetHeight <= 150){
                    if(this.pageFlag){
                        return
                    }
                    if(this.pageNo*10 > this.totalCount){
                        return
                    }
                    // this.pageFlag = true;
                    this.pageNo++;
                    for(var i = 1; i <= 10; i++){
                        this.activityList.push(
                            {
                                name:"低碳快闪"+i,
                                status:'进行中'+i,
                                integralValue:'30'+i,
                                time:'5.30 20:00-22:00',
                                detail:'活动时间内减少使用家庭大功率电器,填写户号及相应信息可活动网上国网App积分。'
                            }
                        );
                        this.pageFlag = false
                    }
                }

            }
        }
    }
</script>

<style scoped lang="less">

  html,body{
    height:100%
  }
  .activity-wrap{

    width: 90%;
    margin: auto;
    height: 100% ;
    .activity-list{
      height: 100% ;
      overflow-y: scroll;

      .activity-item{
        width: 90%;
        background: #0b9494;
        border-radius: 15px;
        border: 1px solid;
        margin: 5px auto;

      }
    }



  }

</style>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

宁漂打工仔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值