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

今天学习了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")    );
    });

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,456评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,370评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,337评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,583评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,596评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,572评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,936评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,595评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,850评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,601评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,685评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,371评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,951评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,934评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,167评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,636评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,411评论 2 342

推荐阅读更多精彩内容

  • 通过jQuery,您可以选取(查询,query)HTML元素,并对它们执行“操作”(actions)。 jQuer...
    枇杷树8824阅读 649评论 0 3
  • 隐藏元素的hide方法 让页面上的元素不可见,一般可以通过设置css的display为none属性。但是通过css...
    老夫撩发少年狂阅读 1,079评论 0 2
  • 1.JQuery 基础 改变web开发人员创造搞交互性界面的方式。设计者无需花费时间纠缠JS复杂的高级特性。 1....
    LaBaby_阅读 1,321评论 0 2
  • 1.JQuery 基础 改变web开发人员创造搞交互性界面的方式。设计者无需花费时间纠缠JS复杂的高级特性。 1....
    LaBaby_阅读 1,157评论 0 1
  • jQuery中隐藏元素的hide方法 让页面上的元素不可见,一般可以通过设置css的display为none属性。...
    阿r阿r阅读 1,133评论 0 4