JQuery入门及选择器

 JQuery概念

JQuery是一个快速的、简洁的JavaScript库。

JQuery封装了JavaScript常用的功能代码,优化了DOM操作、事件处理,动画设计和Ajax交互。

JQuery本质:就是学习调用这些函数(方法)。

JQuery中的顶级对象$

1.$是JQuery的别称,在代码中可以使用JQuery代替,但一般为了方便,通常都直接使用$

2.$是JQuery的顶级对象,相当于原生JavaScript中的window。把元素利用$包装成JQuery对象,就可以调用JQuery的方法

JQuery的优点

1.轻量级

2.跨浏览器兼容,基本兼容了现在主流的浏览器

3.链式编程、隐式迭代

4.对事件、样式、动画支持、大大简化了DOM操作

5.支持插件扩展开发。有着丰富的第三方的插件。例如:树形菜单、日期控件、轮播图等

6.免费、开源

JQuery基础选择器

1.基本选择器

名称用法描述
ID选择器$("#id")  获取指定id的元素
全选选择器 $("*")

匹配所有元素

类选择器$(".class")获取同一类class的元素
标签选择器 $("div")获取同一类标签的所有元素
并集选择器$("div,p,li")选取多个元素
交集选择器  $("li.current")交集元名称名称

例如:

2.层级选择器

常用的两个分为后代选择

名称用法描述
子代选择器$("ul>li")使用>号,获取亲儿子层级的元素;注意:并不会获取子孙层级的元素
后代选择器$("ul  li")使用空格,代表后代选择器,获取ul下的所有li元素,包括子孙等

3.属性选择器

属性选择器是制定DOM元素对应属性的一种选择器

名称用法描述
属性名称选择器$("A[属性名]")包含指定属性的选择器
属性选择器$("A[属性名='值']")包含指定属性等于指定值的选择器
复合属性选择器$("A[属性名='值'] []...")包含多个属性条件的选择器

4.过滤选择器

语法用法描述
:first $("li:first")获取第一个li元素
:last$("li:last") 获取最后一个li元素
:eq(index)$("li:eq(2)")获取到的li元素中,选择索引号为2的元素,索引号index从0开始
:odd   $("li:odd") 获取到的li元素中,选择索引号为奇数的元素
:even  $("li:even")获取到的li元素中,选择索引号为偶数的元素

5.筛选方法(重点

语法用法说明
parent()$("li").parent查找父级
children(selector)$("ul").children("li")相当于$("ul>li"),最近1一级(亲儿子)
find(selector)$("ul").find("li")相当于$("ul li"),后代选择器
sibilings(selector)$(".first").siblings("li")查找兄弟节点,不包括自己本身
nextAll([expr])$(".first").nextAll()查找当前元素之后的所有同辈元素
prevtAll([expr])$(".last").prevAll()查找当前元素之前的所有同辈元素
hasClass(class)$("div").hasClass("protected")检测当前的元素是否含有某个特定的类,如果有,则返回true
eq(index)$(“li”).eq(2)相当于$("li:eq(2))",index从0开始

案例

王者手风琴

QQ录屏20221015004644

页面设计

 <div id="context">
        <ul>
            <li class="add">
                <a href="#">
                    <img src="img/c1.jpg" class="small" />
                    <img src="img/c.png"  class="big" />
                </a>
            </li>
            <li>
                <a href="#">
                    <img src="img/h1.jpg" class="small" />
                    <img src="img/h.png"  class="big" />
                </a>
            </li>
            <li>
                <a href="#">
                    <img  src="img/l1.jpg" class="small" />
                    <img  src="img/l.png" class="big" />
                </a>
            </li>
            <li>
                <a href="#">
                    <img src="img/m1.jpg" class="small" />
                    <img src="img/m.png"  class="big" />
                </a>
            </li>
            <li>
                <a href="#">
                    <img src="img/t1.jpg" class="small" />
                    <img src="img/t.png"  class="big" />
                </a>
            </li>
            <li>
                <a href="#">
                    <img src="img/z1.jpg"  class="small" />
                    <img src="img/z.png"  class="big" />
                </a>
            </li>
            <li>
                <a href="#">
                    <img src="img/w1.jpg"  class="small" />
                    <img src="img/w.png"  class="big" />
                </a>
            </li>
        </ul>
    </div>

css样式

<style>
        * {
            margin: 0;
            padding: 0;
        }
        
        #context {
            padding: 15% 24%;
        }
        
        ul {
            width: 760px;
            overflow: hidden;
            background-image: url(img/bg.png);
			border: 1px #125497 solid;
        }
        
        ul li {
            list-style: none;
            float: left;
			border: 1px #125497 solid;
        }
        
        ul li:last-child {
            margin-right: 0;
        }
        
        ul li.add {
            width: 224px;
			margin-left: 20px;
        }
        ul li.add .small {
            display: none;
        }
        
        ul li.add .big {
            display: block;
        }
        
        ul li a {
            display: block;//显示当前图片
			/* position 相对定位和绝对定位 */
			/* relative:相对于原来位置移动,元素设置此属性之后仍然处在文档流中,不影响其他元素的布局 */
            position: relative;
            width: 69px;
            height: 69px;
        }
        .small {
            position: absolute;
            width: 69px;
            height: 69px;
            border-radius: 5px;
        }
        
        .big { 
            width: 224px;
            display: none;//隐藏元素并脱离文档
        }
    </style>

点击触发事件

<script>
        $(function() {
            $('ul li').mouseover(function() {
				//stop停止动画排队 
               //animate自定义动画 
               //find寻找元素 
              //fadeOut隐藏元素 
              //siblings排除自己之外的元素  
              //fadeIn可见速度
                //鼠标移入当前改变当前照片宽度
				//寻找class="small"的元素设为隐藏
				//其余设为可见
				$(this).stop().animate({width: 224}).find('.small').fadeOut().siblings('.big').fadeIn();
				//其余照片保持不动
				//触摸之外的图片停止排队
				//保持宽度不变寻找class="small"元素设为可见 
				//其余隐藏元素
                $(this).siblings().stop().animate({width: 69}).find('.small').fadeIn().siblings('.big').fadeOut();
            });
        });
    </script>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值