JQuery

本文详细介绍了jQuery库的基础使用,包括选择器、筛选选择器、样式操作(如css和类操作)、动画效果(如淡入淡出、滑动和事件切换),以及元素操作、属性和内容处理。通过实例演示了如何利用jQuery进行高效前端开发。
摘要由CSDN通过智能技术生成

得到当前索引号的方法.index()

一、JQuery概述

js库,里面封装许多的函数

1.基本使用

引入JQuery文件

2.jquery的入口函数

        // $('div').hide();
        // 1.等着页面DOM元素加载完毕再去执行js代码
        $(document).ready(function(){
            $('div').hide();
        })
        // 2.等着页面DOM元素加载完毕再去执行js代码
        $(function(){
            $('div').hide();
        })

3.jquery对象和DOM对象

  • jquery对象使用jQuery方式获取
  • DOM对象使用原生的js获取
  • jQuery对象只能使用jQuery方法,DOM使用js的属性和方法

4.jQuery对象和DOM对象转换

  • $(DOM对象) 即可转换为jQuery对象
  • $('div')[index] index是索引 可以将jQuery对象转换为DOM对象
  • $('div').get(index) index是索引 可以将jQuery对象转换为DOM对象

二、jQuery常用的API

1.jQuery选择器

$("选择器")//里面的选择器直接写CSS选择器即可,但是要加引号

2.jQuery筛选选择器

语法用法描述
: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元素中,选择索引号为偶数的元素

3.jQuery筛选方法

parents():选择祖先元素

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

4.jQuery排他思想

三、jQuery样式操作

1.css方法

  • 参数只写属性名,则返回属性值 $(this).css("color");
  • 参数是属性名,属性值,逗号分割,是设置一种样式,属性必须加引号,值是数字可以不用单位和引号 $(this).css("color","red");
  • 参数可以是对象形式,方便设置多组样式。属性名和属性值用冒号隔开,属性可以不用加引号  $(this).css({"color":"red","font-size":"10px"}); 如果是符合属性则采取驼峰命名法

2.设置类样式方法

  • 添加类addClass():$("div").addClass("current");
  • 移除类removeClass():$("div").removeClass("current");
  • 切换类toggleClass():$("div").toggleClass("current");

注意:添加和移除均是追加,不影响原先的类名

四、jQuery效果

1.显示隐藏效果

  • 显示 show([speed,[easing],[fn])
  • 隐藏 hide([speed,[easing],[fn]) 
  • 切换 toggle([speed,[easing],[fn]) 
    • fn:回调函数,在动画完成时执行的函数,每个元素执行一次
    • easing:用来指定切换效果,默认是‘swing’,可用参数“linear”(匀速)
    • speed:三种预定速度之一的字符串(“slow”,“normal”,"fast")或表示动画时长的毫秒数值(如:1000)

一般情况,都不加参数直接显示隐藏

2.滑动效果

  • 下滑动slideDown([speed,[easing],[fn])
  • 上滑动slideUp([speed,[easing],[fn]) 
  • 切换滑动 slidetoggle([speed,[easing],[fn]) 
    • fn:回调函数,在动画完成时执行的函数,每个元素执行一次
    • easing:用来指定切换效果,默认是‘swing’,可用参数“linear”(匀速)
    • speed:三种预定速度之一的字符串(“slow”,“normal”,"fast")或表示动画时长的毫秒数值(如:1000)

3.事件切换

hover([over,]out)

            // 事件切换hover就是鼠标经过和离开的复合写法
            $('.nav>li').hover(function(){
                $(this).children('ul').slideDown()
            },function(){
                $(this).children('ul').slideUp()
            })
            // 事件切换hover 如果只写一个函数,那么鼠标经过和离开都会触发这个函数
            $('.nav>li').hover(function(){
                $(this).children('ul').slideToggle()
            })

4.停止排队

stop()必须写到动画的前面

$('.nav>li').hover(function(){
    $(this).children('ul').stop().slideToggle()
})

5.淡入淡出效果

1).淡入效果 fadeIn([speed,[easing],[fn]])

2).淡出效果fadeOut([speed,[easing],[fn]])

3).淡入淡出切换fadeToggle([speed,[easing],[fn]])

  • fn:回调函数,在动画完成时执行的函数,每个元素执行一次
  • easing:用来指定切换效果,默认是‘swing’,可用参数“linear”(匀速)
  • speed:三种预定速度之一的字符串(“slow”,“normal”,"fast")或表示动画时长的毫秒数值(如:1000)

4).渐进方式调整到指定的不透明度 fadeTo([speed,opacity,[easing],[fn]])

  • fn:回调函数,在动画完成时执行的函数,每个元素执行一次
  • easing:用来指定切换效果,默认是‘swing’,可用参数“linear”(匀速)
  • speed:三种预定速度之一的字符串(“slow”,“normal”,"fast")或表示动画时长的毫秒数值(如:1000)必须写
  • opactity透明度必须写 0-1之间

案例:

$(function(){
            $(".wrap li").hover(function(){
                $(this).siblings().stop().fadeTo(400,0.5)
            },function(){
                $(this).siblings().stop().fadeTo(400,1)
            })
        })

6.自定义动画animate,不能是文档,只能是元素

animate(params,[speed],[easing],[fn])

  • params:想要修改的样式属性,以对象形式传递,必须写
  • fn:回调函数,在动画完成时执行的函数,每个元素执行一次
  • easing:用来指定切换效果,默认是‘swing’,可用参数“linear”(匀速)
  • speed:三种预定速度之一的字符串(“slow”,“normal”,"fast")或表示动画时长的毫秒数值(如:1000)必须写

案例:手风琴效果

$(function(){
            $(".king li").mouseenter(function(){
                $(this).stop().animate({
                    width:224
                }).find(".small").stop().fadeOut().siblings(".big").stop().fadeIn()
                $(this).siblings("li").animate({
                    width:69
                }).find(".small").stop().fadeIn().siblings(".big").stop().fadeOut()
            })
        })

五、jQuery属性操作

  • element.prop("属性名") 获取元素固有属性值
  • element.prop("属性名","属性值") 设置元素固有属性的属性值
  • 设置或获取元素自定义属性值attr()
  • 数据缓存data()这个里面的数据是存放在元素的内存里面

案例:购物车全选

$(function(){
    // 点击全选,数据全选
    $(".checkall").change(function(){
        $(".j-checkbox,.checkall").prop("checked",$(this).prop("checked"));
    })
    // 每个复选框选择,全选
    $(".j-checkbox").change(function(){
        // 如果小复选框选择的数量等于小复选框的数量,则全选按钮选上,否则全选按钮不选
        if($(".j-checkbox:checked").length==$(".j-checkbox").length) {
            $(".checkall").prop("checked",true)
        }else 
        { 
            $(".checkall").prop("checked",false)
        };
    })
})

六、jQuery内容文本值

获取设置元素内容html()

获取设置元素文本内容text()

获取设置表单值val()

七、jQuery元素操作

1.遍历元素

$("div").each(function(index,domele){})

里面回调函数有2个参数,index是每个元素的索引号,domELe是每个DOM元素对象,不是jQuery对象

2.遍历数据

$.each(object,function(index,domele){})

.toFixed(2)保留2位小数

3.创建元素 $("<li></li>")

4.添加元素

  • 内部添加
    • element.append() 放到内容的内部并且在内容的最后面
    • element.prepend()放到内容的内部并且在内容的最前面
  • 外部添加
    • element.after()放在内容的外部并且在最后面
    • element.before()放在内容的外部并且在最前面

5.删除元素

element.remove()删除元素的本身

element.empty()删除匹配的元素集合中所有的子节点

element.html("") 清空匹配元素内容

八、jQuery尺寸大小

width()获取设置元素的宽度

height()获取设置元素的高度

innerWidth()/innerHeight() 获取设置元素width/height+padding大小

outerWidth()/outerHeight() 获取设置元素width/height+padding+border大小

outerWidth(true)/outerHeight(true)获取设置元素width/height+padding+border+margin大小

九、jQuery位置方法

offset:获取设置距离文档的位置,可设置

position:获取距离带有定位父级位置,只能获取不能设置

十、jQuery被卷去的头部

scrollTop 被卷去的头部/scrollLeft()被卷去的左侧

电梯导航案例:

$(function() {
    var toolTop= $(".recommend").offset().top;
    toggleTool()
    // 节流阀 互斥锁
    var flag=true;
    function toggleTool(){
        if($(document).scrollTop()>= toolTop){
            $(".fixedtool").fadeIn();
        }else{
            $(".fixedtool").fadeOut();
        }
    }
   $(window).scroll(function(){
    toggleTool()
    if(flag){
        $(".floor .w").each(function (i,ele){
            // 被卷去头部大于每个内容距离头部的距离
            if($(document).scrollTop()>=$(this).offset().top){
                $(".fixedtool li").eq(i).addClass("current").siblings().removeClass("current")
            }
        })
    }
   })
   $(".fixedtool li").click(function(){
    flag=false
    console.log($(this).index());
    // 选出对应内容索引号的内容区的盒子,计算它的offset.top
    var current=$(".floor .w").eq($(this).index()).offset().top
    $("body,html").stop().animate({
        scrollTop:current
    },function(){
        flag=true
    })
    $(this).addClass("current").siblings().removeClass("current")
   })
})

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值