微信小程序实现列表项上移下移效果

 更新时间:2022年07月07日 14:27:44   作者:asteriaV  
这篇文章主要为大家详细介绍了微信小程序实现列表项上移下移效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了微信小程序实现列表项上移下移的具体代码,供大家参考,具体内容如下

需要实现的效果:点击向下按钮时所选项内容和下一项内容交换,向上按钮则相反,删除按钮则点击时删除所选项那一列内容

index.wxml

<view class="subject" wx:for="{{sublist}}" wx:key="index">
    <view>{{index+1}}.{{item}}</view>
    <view class="btns">
        <view class="btn up" wx:if="{{index>0}}" data-i="{{index}}" bindtap="up">👆</view>
        <view class="btn down" wx:if="{{index<sublist.length-1}}" data-i="{{index}}" bindtap="down">👇</view>
        <view class="btn del" data-i="{{index}}" bindtap="del">X</view>
    </view>
</view>

index.wxss

.subject{
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 40rpx;
}
.btns{
  margin: 20rpx 20rpx;
}
.btn{
  width: 60rpx;
  height: 60rpx;
  border: 1px solid #ccc;
  border-radius: 50%;
 align-items: center;
 justify-content: center;
 text-align: center;
 color: #fff;
 line-height: 60rpx;
 margin: 10rpx 0;
}
 
 .up{
  background: rgba(255, 182, 47, 0.842);
}
 .down{
  background: skyblue;
}
.del{
  background: #eee;
}

index.js 

import {$attr} from '../../utils/index' ;//引入utils/index.js 封装的方法
Page({
 
  /**
   * 页面的初始数据
   */
  data: {
    sublist:[
      'AAAAAAAAAAAA',
      'BBBBBBBBBBBBBB',
      'CCCCCCCCCCCCC',
      'DDDDDDDDDDD'
    ]
  },
  del(e){
    let i=$attr(e,'i')
    this.data.sublist.splice(i,1)
    this.setData({
      sublist:this.data.sublist
    })
  },
  up(e){
    let i=$attr(e,'i')
    let temp=this.data.sublist[i]
    this.data.sublist[i]=this.data.sublist[i-1]
    this.data.sublist[i-1]=temp
    this.setData({
      sublist:this.data.sublist
    })
  },
  down(e){
    let i=$attr(e,'i')
    let temp=this.data.sublist[i]
    this.data.sublist[i]=this.data.sublist[i+1]
    this.data.sublist[i+1]=temp
    this.setData({
      sublist:this.data.sublist
    })
  },
 
})

utils/index.js 

export function $attr(e, key) {
  return e.currentTarget.dataset[key]
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 基于原生js实现九宫格算法代码实例

    基于原生js实现九宫格算法代码实例

    这篇文章主要介绍了基于原生js实现九宫格算法代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07
  • JavaScrip数组删除特定元素的几种方法总结

    JavaScrip数组删除特定元素的几种方法总结

    从js数组中删除指定元素是我们每个人都遇到的问题,网上这方面的资料也很多,但有的时间过于久远,有的内容不够全面,所以自己来整理下,这篇文章主要给大家总结介绍了关于JavaScrip数组删除特定元素的多种方法,需要的朋友可以参考下。
    2017-09-09
  • Bootstrap表格使用方法详解

    Bootstrap表格使用方法详解

    这篇文章主要为大家详细介绍了Bootstrap表格使用方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-02-02
  • JS 数组 移除 实现代码

    JS 数组 移除 实现代码

    可以移除数组中的值函数 ,用来取出数组中的一些值,间接的修改了数组值。
    2009-07-07
  • JS实现在线ps功能详解

    JS实现在线ps功能详解

    这篇文章主要介绍了JS实现在线ps功能详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07
  • FF下zoom的替代方案 单位em

    FF下zoom的替代方案 单位em

    css 属性zoom是ie私有属性 在FF中(或者说仅实现CSS标准的其他浏览器中)无法使用,一直在网上搜索它的替代方案,但没有收获,后来听群里有朋友说em或可解决此问题,经过研究和测试,发现果然可以解决。
    2008-08-08
  • JavaScript实现可动的canvas环形进度条

    JavaScript实现可动的canvas环形进度条

    这篇文章主要介绍了如何利用JavaScript canvas绘制一个可以动的环形进度条。文中的示例代码讲解详细,感兴趣的小伙伴可以动手试一试
    2022-02-02
  • 关于include标签导致js路径找不到的问题分析及解决

    关于include标签导致js路径找不到的问题分析及解决

    本文为大家详细介绍下关于使用jsp:include标签及<%@ include标签时要注意的事项以及实测发现问题并解决问题的全过程,感兴趣的各位可以参考下哈,希望对大家有所帮助
    2013-07-07
  • javascript伸缩型菜单实现代码

    javascript伸缩型菜单实现代码

    这是一款真正的JavaScript伸展收缩型菜单,鼠标放上看一看,是不是很酷?鼠标划出菜单项的时候,背景会伸长。菜单没有加链接,想用的自己加,再美化一下,绝对够个性吧。
    2015-11-11
  • 基于JavaScript实现单选框下拉菜单添加文件效果

    基于JavaScript实现单选框下拉菜单添加文件效果

    这篇文章主要介绍了基于JavaScript实现单选框下拉菜单添加文件效果的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-06-06

最新评论