谷粒商城p188-页面排序-排序字段回显-代码精简

谷粒商城p188-页面排序代码精简

看了雷神的课,代码太多又看着眼花了不想敲,而且有功能重复的地方,就想着自己换个方法做,但是又没有系统的学过前端,所以做了好几个小时,记录一下。

以下是代码 在js标签里的页面加载完成时执行的方法

// 页面渲染完成后执行的代码
    window.onload = function () {
        // 取出url
        var url = window.location.href.toString();
        // 正则的意义:是否有sort字段,取出按哪个字段排序,以及排序方式
        var hasSort = eval('/(sort=)([^_&]*)_([^&]*)/gi');
        // 将上面正则表达式括号里提取出每个值算作数组的一个元素,加上第0个元素默认为整个正则匹配到的值,组成数组(4个元素)
        var sortArray = hasSort.exec(url);
        // 判断url中是否有sort字段, 若有,给文本内容加上‘↑’或‘↓’
        if (sortArray !== null && sortArray.length !== 0) {
            // 遍历
            $(".sort_a").each(function () {
                // 清空排序标识字符
                $(this).text($(this).text().replace('↓', '').replace('↑', ''));
                // 同类元素清空
                $(this).css({"color": "#333", "border-color": "#CCC", "background": "#FFF"});
                // 获取每个的sortRule的值
                var sortRule = $(this).attr("sortRule");
                // 判断是否与url中的值对应,若是,判断升降序,然后加上标识字符
                if (sortRule === sortArray[2]) {
                    // 当前点击的元素变为选中状态(背景变红.)
                    $(this).css({"color": "#FFF", "border-color": "#e4393c", "background": "#e4393c"})
                    // 不区分大小写,判断升降序
                    //  *升序
                    if (sortArray[3].toLowerCase() === "asc".toLowerCase()) {
                        // 切换一个类,如果存在则删除,不存在则添加
                        $(this).toggleClass('asc');
                        //加上升序标识字符
                        $(this).text($(this).text() + '↑');
                    } else {
                    // *降序
                        $(this).toggleClass('desc');
                        $(this).text($(this).text() + '↓');
                    }
                }
            })
        }
    }

==注意!==上面代码中我的自定义属性的名字和视频中的不一样,所以改的时候注意一下(上面代码18行 $(this).attr(“sortRule”))

就是这不一样↓
属性不同

然后注释掉之前那个多余的方法

注释掉方法

看一下最后的if判断,如何当前是升序,就得发降序的请求,反之亦然
升降序

补充一点:我当时修改之后感觉鼠标放上去变成了 ‘ I ’ 这种图标,而不是个小手
//
一开始是这种
在这里插入图片描述
//

在每个a标签中加上这个属性

href="javascript:"

改完之后的效果,舒服了~
在这里插入图片描述
//
然而,新的问题是:鼠标指针移动到这几个选项上时,边框不变红了(不管是不是小手),有人知道怎么解决,可以说一下。谢谢

结束!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值