美文网首页VueVue.js专区
vue 实现简单跑马灯效果

vue 实现简单跑马灯效果

作者: 王小妞闯天涯 | 来源:发表于2020-01-15 23:30 被阅读0次

    1.需求:实现跑马灯效果方向从右向左

    2.分析:

    1.需要文字跑到结束再重新开始,需要开启定时器

    2.从右向左移动,需要用到css 的 transform,设置transLateX,

    3.何时重新跑的条件设置需要占位多宽 offsetWidth 属性

    4.一行和多行需要区别判断

    3.实现

     1.css部分:

    <div class="ul_box" @click="checkWidth()">

          <ul class="ul_id">

            <li class="li_id">

              <span class="content_id">

                {{message.Content}}

                啊啊啊啊,

              </span>

            </li>

          </ul>

        </div>

    2.js部分

    checkWidth(){

            let spanEle = document.querySelector('.content_id');

            let offsetWidth = spanEle.offsetWidth;

            let liEle = document.querySelector('.li_id');

            let initOffset = liEle.offsetWidth-10;

            liEle.style.transform = 'translateX(' + initOffset + 'px)';

            console.log(offsetWidth);

            let index = 0;

            let timer = setInterval(function() {

              index++;

              var translatex = initOffset - index * 5;

              if (offsetWidth < initOffset) {

                if (translatex  <= 0) {

                  translatex = initOffset;

                  index  = 0;

                }

              }

              if (index > offsetWidth/5 && offsetWidth > initOffset) {

                translatex = initOffset;

                index = 0;

              }

            liEle.style.transform = 'translateX(' + translatex + 'px)';

            }, 150);

          },

    相关文章

      网友评论

        本文标题:vue 实现简单跑马灯效果

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