Vue丝滑滚动组件封装

本文将介绍如何在Vue项目中封装一个丝滑的滚动组件,利用CSS3和JavaScript技术,实现平滑滚动效果,提升用户体验。内容涵盖HTML布局、CSS样式设计以及Vue组件的编写方法。
摘要由CSDN通过智能技术生成
// 右侧组件封装
<template>
  <div id="scrollwrap">
    <ul>
      <li
        @click="scrollmethod(item)"
        v-for="(item, index) in infor"
        :key="index"
      >
      
        {
  { item.name }}
      </li>
    </ul>
  
 
  </div>
</template>

<script>
export default {
  data() {
    return {
      // active: true,
    }
  },
  props: {
    infor: {
      type: Array,
      default() {
        return [
          {
            id: 'nihao',
            name: '你好',
          },
        ]
      },
    },
    distance: {
      type: Number,
      //视窗到事件距离
      default: 50,
    },
  },
  methods: {
    scrollmethod(item) {
      let distance = document.getElementById(item.id).offsetTop - this.distance
      this.$nextTick(() => {
        window.scrollTo({
          top: distance,
          //丝滑滚动
          behavior: 'smooth',
  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值