Vue学习记录-li点击赋class

本文档展示了如何使用Vue.js实现列表项的点击高亮功能。通过在HTML中使用v-for指令遍历数据数组,并结合:class绑定动态样式类,实现了列表项的交互式高亮效果。点击列表项会触发Click方法,更新当前活动项的索引,从而改变高亮状态。
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <style>
    .active{
      color: red;
    }
  </style>
</head>
<body>
  <div id="app">
    <ul>
      <li v-for="(i,index) in books"
          :class="{active: currentIndex === index}"
          @click="Click(index)">
        {{i}}
      </li>
    </ul>
  </div>
  <script src="js/vue.js">
  </script>
  <script>
     const app = new Vue({
        el: '#app',
        data: {
          books: ['af','t1','st1','op'],
          currentIndex: 0
        },
        methods: {
          Click(index){
            this.currentIndex = index;
          }
        }
     })
  </script>
</body>

 

### 关于 `class-option` 参数的使用 `vue-seamless-scroll` 是一款用于 Vue.js 的无缝滚动组件,其中 `class-option` 参数是一个对象类型的属性,用来定义无缝滚动的行为和效果。以下是关于该参数的具体说明: #### 配置项详解 `class-option` 对象可以包含多个键值对来控制滚动行为,常见的选项如下[^1]: - **step**: 定义每次滚动的距离,默认值为 0.8。数值越大,滚动速度越快。 ```javascript step: 1.2 // 设置更大的步长以加快滚动速度 ``` - **limitMoveNum**: 当数据量小于等于此值时停止自动滚动。默认值通常设置为 1 或其他较小整数。 ```javascript limitMoveNum: 3 // 数据少于或等于 3 条时不触发滚动 ``` - **hoverStop**: 布尔值,表示鼠标悬停时是否暂停滚动。默认值为 true。 ```javascript hoverStop: false // 即使鼠标悬浮也不会停止滚动 ``` - **direction**: 控制滚动方向,取值范围为 -1(向上)、1(向下)、0(水平向右)。默认值一般为 -1 表示垂直向上滚动。 ```javascript direction: 1 // 改变滚动方向为向下 ``` - **openWatch**: 是否开启监听数据变化并重新计算布局,默认值为 true。 ```javascript openWatch: false // 不监控数据更新从而优化性能 ``` - **singleHeight/singleWidth**: 如果设置了固定高度/宽度,则需要指定单条目对应的高度或者宽度以便正确计算移动距离。仅当自定义样式改变默认尺寸时才需调整此项。 ```javascript singleHeight: 40 // 若每行高为 40px 则应如此设定 ``` #### 实际应用案例 下面是一段完整的代码演示如何配置 `class-option` 属性: ```html <template> <div> <vue-seamless-scroll :data="scrollData" class="seamless-warp" :class-option="options"> <ul> <li v-for="(item, index) in scrollData" :key="index">{{ item }}</li> </ul> </vue-seamless-scroll> </div> </template> <script> import vueSeamlessScroll from &#39;vue-seamless-scroll&#39;; export default { components: { vueSeamlessScroll }, data() { return { scrollData: [&#39;消息一&#39;, &#39;消息二&#39;, &#39;消息三&#39;], options: { step: 0.6, limitMoveNum: 2, hoverStop: true, direction: -1, openWatch: true, singleHeight: 30 } }; } }; </script> <style scoped> .seamless-warp { height: 150px; overflow: hidden; } </style> ``` 上述例子展示了通过修改 `class-option` 中的不同字段来自定义滚动效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值