美文网首页
jQuery中序与迭代、动画相关的方法

jQuery中序与迭代、动画相关的方法

作者: 飞一般的八哥 | 来源:发表于2017-10-24 23:52 被阅读24次

今天学习了jQuery中的多个大都常用的方法,接下来就结合小案例说道说道。

1. eq()方法

获取$()链式操作的对象队列中第n个jQuery对象,返回jQuery对象,当参数大于等于0时为正向选取,比如0代表第一个,1代表第二个。当参数为负数时为反向选取,比如-1为倒数第一个,具体可以看以下示例。

eq()方法.png
  <style>
        *{
            margin: 0;
            padding: 0;
        }
        .cat1,.cat2{
            width: 330px;
            height: 100px;
            margin-top:50px;
        }
        p{
            width: 100px;
            height: 100px;
            float: left;
            margin-right: 10px;
            background: #e3e3e3;
        }
    </style>
<body>
    <script src="./js/jquery-3.2.1.js"></script>
    <div class="cat1">
        <p>1</p>
        <p class="Jack">2</p>
        <p class="Jack">3</p>
    </div>
    <div class="cat2">
        <p class="Jack">4</p>
        <p class="Jack">5就是这么6</p>
        <p>6</p>
    </div> 
</body>
<script>
        $("p").eq(5); // 所有p标签元素序列中下标为5的元素,就是cat2 div里的第三个p
        $(".cat2 p").eq(1);// cat2 div里的第二个p
        $(".Jack").eq(0);// 所有含有Jack类名的p元素的第一个,就是cat1 div里的第二个p
        $(".cat2 .Jack").eq(1);// cat2 div里的第二个p
</script> 

2. index()方法

搜索匹配的元素,并返回相应元素的索引值,从0开始计数。
如果不给 .index() 方法传递参数,那么返回值就是这个jQuery对象集合中第一个元素相对于其同辈元素的位置。如果参数是一组DOM元素或者jQuery对象,那么返回值就是传递的元素相对于原先集合的位置。如果参数是一个选择器,那么返回值就是原先元素相对于选择器匹配元素中的位置。
继续上一方法的html代码布局,用index()方法操作:
点击.cat1 div的p元素,.cat2 div里对应位置的p背景变红

<script>
        $(".cat1 p").click(function(){
            $(".cat2 p").eq($(this).index()).css("background-color","red");
        })
</script>
index()方法.png

3. each()方法

each()表示遍历节点,也叫作迭代符合条件的节点。每一个匹配的元素作为上下文来执行一个函数。意味着,每次执行传递进来的函数时,函数中的this关键字都指向一个不同的DOM元素(每次都是一个不同的匹配元素)。而且,在每次执行函数时,都会给函数传递一个表示作为执行环境的元素在匹配的元素集合中所处位置的数字值作为参数(从零开始的整型);返回 'false' 将停止循环。

    $("p").each(function(i){
        $(this).animate({"width":50 * i},1000);
    });
each()方法.png

4. get()方法

get()方法和eq()方法基本一致,都仰赖$()的序列。
eq()返回的是jQuery对象,而get()返回的是原生JS对象。jQuery对象后面要跟着jQuery方法,原生对象后面要跟着原生属性、方法:

    $("p").eq(2).html("哈哈哈哈哈哈");
//等价于:
    $("p").get(2).innerHTML = "哈哈哈哈哈哈";
//等价于:
    $("p").eq(2)[0].innerHTML = "哈哈哈哈哈哈";

5. 内置show()、hide()、toggle()方法

show()显示、hide()隐藏、toggle()切换

    $("div").show();    //让一个本身是display:none;元素显示
    $("div").hide();    //隐藏元素display:none;
    $("div").toggle();  //切换显示状态。
                    //自行带有判断,如果可见,就隐藏;否则显示。

特别的,如果show()、hide()、toggle()里面有数值,将变为动画:

   $("div").show(1000); //此时display:none;的元素,将从左上角徐徐展开。

6. fadeIn()、fadeOut()、fadeTo()、fadeToggle()方法

fadeIn()淡入
fadeOut()淡出
fadeTo() 淡到那个数
fadeToggle() 淡出入切换

7. stop()

停止当前的animate动画,但是不清除队列,立即执行后面的animate动画:
$("div").stop(); //等价于$(“div”).stop(false,false);

停止当前的animate动画,并且清除队列,盒子留在了此时的位置:
$("div").stop(true); //等价于$(“div”).stop(true,false);

瞬间完成当前的animate动画,并且清除队列:
$("div").stop(true,true);

瞬间完成当前的animate动画,但是不清楚队列,立即执行后面的动画:
$("div").stop(false,true);

8. is(":animated")

is()方法表示身份探测,返回true、false。
is表示“是不是”,而不是“是”
比如,判断点击的这个p是不是有t这个类:

    $("p").click(function(){
        alert(   $(this).is(".t")    );
    });

还有很多吼,作用不错,值得逐步探究与运用!!!

相关文章

  • jQuery中序与迭代、动画相关的方法

    今天学习了jQuery中的多个大都常用的方法,接下来就结合小案例说道说道。 1. eq()方法 获取$()链式操作...

  • jQuery的动画特效

    1.1 jQuery动画特效说明 jQuery框架中为我们封装了众多的动画和特效方法,只需要调用对应的动画方法传递...

  • JQuery动画,事件

    jQuery 动画 - animate() 方法 jQuery animate() 方法用于创建自定义动画。 语法...

  • jQuery中的动画

    jQuery中的动画 show()方法和hide()方法 控制元素的显示与隐藏,可以为该方法添加参数,使得元素可以...

  • jQuery动画与ajax

    jQuery动画与ajax jQuery 中, $(document).ready()是什么意思 jQuery的l...

  • jQuery动画队列

    jQuery 动画队列 当在jQuery对象上调用动画方法时,如果对象正在执行某个动画效果,那么新调用的动画方法就...

  • jQuery(动画篇)

    四、动画篇 1. 动画基础隐藏和显示 (1) jQuery中隐藏元素的hide方法 过 jQuery,您可以使用 ...

  • jQuery 动画队列

    jQuery 动画队列 动画队列的方法: 我们知道jQuery提供了以下几种方法来操作动画队列: stop([cl...

  • jQuery |动画

    利用jQuery ,自己动手做动画。使用jQuery 的animate() 方法,制作动画。 语法: $(sele...

  • 二叉排序树

    一 序 学习完二叉树的遍历方法、运用递归与迭代的手段完成树的深度、叶子节点数与节点总数目相关方法后。在此基础上我们...

网友评论

      本文标题:jQuery中序与迭代、动画相关的方法

      本文链接:https://www.haomeiwen.com/subject/vlqfpxtx.html