js实现文字向上滚动

12 篇文章 1 订阅

个人blog,欢迎关注加收藏

js实现文字向上滚动

html
<div class="content">
     <ul style="list-style:none" id="marquee">
         <li v-for="(item,indx) in congratulationText" :key="indx">{{item}}</li>
     </ul>
 </div>
css
 /* 中部内容 */
    .congratulation>>>.content{
        margin-top: 11%;
        height: 50vh;
        overflow: hidden;
    }
    /* 中部文字 */
    .congratulation>>>.content ul{
        padding: 0;
        width: 90%;
        margin: 0 auto;
        text-align: center;
        color: #786E4D;    

    }
    .congratulation>>>.content ul li{
        line-height: 1.9;
    }
vue组件的js
export default {
  name: 'congratulation',
  data () {
    return {
        congratulationText:[
            'xxxxxx上传了祝福语',
            'xxxxxx上传了绘画作品',
            'xxxxxx上传了祝福语',
            'xxxxxx上传了绘画作品',
            'xxxxxx上传了祝福语',
            'xxxxxx上传了绘画作品',
            'xxxxxx上传了祝福语',
            'xxxxxx上传了绘画作品',
            'xxxxxx上传了祝福语',
            'xxxxxx上传了绘画作品',
            'xxxxxx上传了祝福语',
            'xxxxxx上传了绘画作品',
            'xxxxxx上传了祝福语',
            'xxxxxx上传了绘画作品',

        ],//祝贺信息列表
        timeout:"",//记录计时器
    }
  },
  methods:{
    //滚动条
    scrollAnimation(){
        let _this = this;
        clearTimeout(_this.timeout);
        var marquee = document.getElementById('marquee');
        var offset=0;
        var scrollheight =marquee.offsetHeight;//整个高度
        var firstNode = marquee.children[0].cloneNode(true);
        marquee.removeChild(marquee.children[0]);//还有这里
        marquee.appendChild(firstNode);//还有这里
        if(offset == scrollheight){
            offset = 0;
        }
        marquee.style.marginTop = "-"+offset+"px";
        offset += 1;
        _this.timeout = setTimeout(_this.scrollAnimation,1000);
    }
  },
  mounted(){
        let _this = this;
        _this.scrollAnimation();//祝贺信息滚动条加载
  }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值