jquery点击左右滑动_jQuery 排序和动画

b3cc34d149ba8e836b61450b7790315b.png

jQuery 排序和动画

排序

eq() 方法

  • jQuery 中获得的对象,内部包含选择的一组原生 js 对象,在 jQuery 对象中会进行一个大的排序,这个排序与原来的 HTML 结构没有关系。
  • eq() 方法在 jQuery 对象中通过下标获取某个对象,下标是 jQuery 对象中的大的排序的下标。
// 选择所有的 p 标签元素
        var $ps = $("p");
        // 生成的 jQuery 对象,内部包含所有的原生 js 对象
        // jQuery 对象是一个类数组对象,内部所有的 数据会进行一个大的排序
        // 排序与自己原来的父级没有关系,只与 在 jQuery 对象中的新的位置有关
        // 重点体现在 eq()  方法中
        // 给指定位置的对象添加颜色
        $ps.eq(1).css("background-color","red");
        $ps.eq(6).css("background-color","red");
        $ps.eq(9).css("background-color","red");
        $ps.eq(11).css("background-color","red");

        // 通过类名选择标签
        $(".cur").eq(2).css("background-color","red")

index() 方法

  • jQuery 对象调用 index() 方法时,得到的是它自己在 HTML 结构中的兄弟中的下标位置。与jQuery 大排序没有关系。
// 选择所有的 p 标签元素
        var $ps = $("p");
        // index() 方法获取下标时,排序跟新生成的 jQuery 对象无关
        // 它依赖于自身元素在父级中同级元素之间的位置
        // 添加点击事件
        $ps.click(function () {
    
            // 点击输出自己的 index() 的值
            console.log($(this).index())
        })

排他思想

  • 在一些事件中,希望自己是特殊的,而它的兄弟们是默认的。

排他方法

  • jQuery 中可以让 this 特殊设置,让兄弟 siblings 设置成默认。

Tab 栏特效中的排他

  • 自己的级别的排他:给自己this添加 current 类名,让其他的兄弟删除 current 类。
  • 对应的部分的排他:给对应位置的元素添加 current,其他的兄弟删除 current 类。
  • 找对应关系,使用的是自己的 index() 下标,让另一组中下标相同的项作为对应项。
  • 通过选中另一组的对应项利用 eq() 方法选择下标项。
// 获取所有的 span
        var $span = $(".tab .title span");
        // 添加鼠标移上事件
        $span.mouseenter(function () {
    
            // 利用变量存储 this 的下标
            var idx = $(this).index();
            // 自己级别的排他
            $(this).addClass("current").siblings().removeClass("current");
            // 对应级别的排他
            $(".tab .detail ul").eq(idx).addClass("current").siblings().removeClass("current");
        })

Tab 栏优化

// 获取所有的 span
        var $span = $(".tab .title span");
        // 添加鼠标移上事件
        $span.mouseenter(function () {
    
            // 利用变量存储 this 的下标
            var idx = $(this).index();
      // 自己级别的排他
      // 查找所有对应 ul 时候,不要单独选择所有 ul,要通过当前的 this 的节点关系查找
      // 链式调用方式,找到自己父级中的兄弟中的所有子级 ul
      $(this).addClass("current")
      .siblings().removeClass("current")
      .parent().siblings().children().eq(idx).addClass("current")
      .siblings().removeClass("current");

        })

each()遍历

jQuery 对象进行的操作都是批量操作,批量操作只能执行一些简单的效果,如果想对 JQ 对象中的每一个元素以及内部的后代元素进行一些复杂操作,程序很难执行

  • each() 遍历方法
  • each()
  • 参数是一个函数。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值