vue 3 CSS 무한 틈새 없 는 스크롤 효과 구현

2273 단어 vue3굴러가다
본 논문 의 사례 는 vue 3 가 CSS 무한 이음매 없 는 스크롤 효 과 를 실현 하 는 구체 적 인 코드 를 공유 하여 여러분 께 참고 하 시기 바 랍 니 다.구체 적 인 내용 은 다음 과 같 습 니 다.
template
이중 div 내장,스크롤 표시 숨 기기

<div class="list-container">
  <div class="marquee" id="carList">
    <template v-for="(item, index) in dataMap.list" :key="index">
      <div class="list-item">
        <div class="item-name text-overflow">{{ item.name }}</div>
        <div class="item-road text-overflow">{{ item.road }}</div>
      </div>
    </template>
  </div>
</div>
script
dom 요소 의 내용 을 복사 하여 이전 스크롤 효 과 를 연결 합 니 다.

export default defineComponent({
  setup() {
    const dataMap = reactive({
      list: [
        { name: ' A89268', road: ' 8 ', status: 0 },
        { name: ' A89268', road: ' 8 ', status: 0 },
        { name: ' A89268', road: ' 8 ', status: 1 },
        { name: ' A89268', road: ' 8 ', status: 0 },
        { name: ' A89268', road: ' 8 ', status: 1 },
        { name: ' A89268', road: ' 1 ', status: 0 },
      ],
    });
    onMounted(() => {
      const marquee = document.getElementById('carList');
      marquee.innerHTML = marquee.innerHTML + marquee.innerHTML;
    });
  }
})
style
CSS 필기 애니메이션 효과

.list-container {
  width: 720px;
  height: 170px;
  margin-left: 13px;
  overflow: hidden;
  position: relative;
}
//    
.marquee {
  //animation-delay: -5s;
  animation: marquee 15s linear infinite;
}
.marquee:hover {
  animation-play-state: paused;
}
@keyframes marquee {
  0% {
    transform: translateY(0%);
  }
  100% {
    transform: translateY(-51%); //    -100%!
  }
}

이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기