vue——点击置顶

vue——点击置顶

// 再在想监听滚动的父容器绑定上id名
<div class="download"  id="scrollBlock">
	<div class="toTop" @click="totop" v-show="toTop">
		<img src="../../assets/img/homeTop.png" alt="" srcset="">
	</div>
</div>
// js
data() {
    return {
      toTop: false,
    };
  },
methods: {
    // 置顶-start
    handleScroll() {
      let scrollTop = document.documentElement.scrollTop || document.body.scrollTop
      console.log(scrollTop)
      if (scrollTop > 200) {
      this.toTop = true
      } else {
      this.toTop = false
      }
    },
    totop() {
      document.documentElement.scrollTop = 0 
      document.body.scrollTop = 0
    },
    // 置顶-end
   }
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
`vue.draggable` 是 Vue.js 中的一个官方插件,用于提供拖放交互功能。当你想要在 Vue 组件中实现元素可以被用户点击并拖动到列表顶部的功能时,你可以这样做: 首先,在你的组件中安装 `vuedraggable` 插件,通常是通过 npm 或者 yarn 安装: ```bash npm install vuedraggable # 或者 yarn add vuedraggable ``` 然后,在需要拖动功能的元素上应用 `draggable` 属性,并配置相关的选项,比如允许拖放到顶部的行为: ```html <template> <div id="list"> <draggable :items="items" @start="onStart" @end="onEnd"> <div class="item" v-for="(item, index) in items" :key="index" @click="isTop ? null : moveToTop(index)"> {{ item }} </div> </draggable> </div> </template> <script> import draggable from 'vuedraggable'; export default { components: { draggable, }, data() { return { items: [...], // 初始化数据数组 isTop: false, // 初始置顶标志 }; }, methods: { onStart(e) { this.isTop = true; // 开始拖动时标记置顶状态 }, onEnd(e) { if (e.elm.dataset.index === 0) { // 检查是否移动到了第一个位置 this.isTop = false; // 如果到了顶部,则可能需要更新实际的排序,这里只是一个示例 this.items.sort((a, b) => a.order - b.order); } else { this.isTop = false; } }, moveToTop(index) { // 这里可以根据需求实现真正的置顶操作,例如交换数组的位置或者更改数据模型中的属性 const temp = this.items[index]; this.items.splice(index, 1); this.items.unshift(temp); }, }, }; </script> ``` 在这个例子中,`@start` 事件会在开始拖动时触发,我们将置顶标志设为 `true`。当拖动结束且目标元素位于列表首位时(`@end` 事件),我们将置顶标志设置回 `false` 并根据需要调整数组顺序。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值