🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
~~~ 0. 获取当前页面中需要操作的元素 A: 需要获取的元素有:list/header/header中所有的A/list中所有的LI B:注意DOM映射,不能使用querySelectorAll 1. 获取数据进行数据绑定 A:发送AJAX请求 ->创建一个变量用来存储获取的值 ->创建AJAX的一个实例 ->打开一个请求链接 ->... B:把获取的JSON字符串转为对象 C:基于ES6模板字符串把需要动态展示的内容拼接,最后存储到容器中 ->循环获取的数据 ->把每一项获取到,然后结构赋值 ->字符串拼接 ->给LI设置三个自定义属性存储价格/日期/热度 2. 点击操作 A:循环给所有的A绑定点击事件 ->给每一个设置index/flag自定义属性,存储索引和-1 ->绑定点击事件 在点击事件中: 1.除了当前这个LI,其余LI都让其flag=-1 2.让当前li的flag乘等于-1 3.执行SORT-LIST,把this改成当前点击的A B:编写也给SORT-LIST方法(需要改变THIS不能用箭头函数) ->把类数组转换为数组 ->把数组进行排序 先根据点击A的索引获取到需要排序的项 获取对应项中的内容(从自定义属性获取) 日期需要把"-"去掉在进行减法运算 通过相减,获取一个>0或者<=0的值,让获取的值乘以flag ->把排好序的数组中的每一项依次加入到容器的末尾(其实是把原有LI移动位置,这是DOM映射) ~~~