jQuery 《基础整合》 jQuery插件jQueryAPI查询网站

Posted MDR_0820

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jQuery 《基础整合》 jQuery插件jQueryAPI查询网站相关的知识,希望对你有一定的参考价值。

jQurey 的概念

jqurey 是一个快速简洁的javascript库 设计的总之能是 写更少的代码 做更多的事情

j 就是JavaScript 、Qurey 查询 意思就是查询js 把js 中的dom操作做了封装 我们可以快速的查询使用里面的功能
jQurey 封装了JavaScript常用的功能代码 优化了dom 的操作事件处理 动画设计和Ajax 交互

jQurey 的入口函数

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

    $(function(){
        $('div').hide()
    })

jquery对象和DOM对象

jQuery对象和DOM对象之间是可以相互转换的
因为js原生比jQuery更大 原生的一些属性和方法jQuery没有给我们封装 要使用这些方法和属性 需要吧jQuery对象转换为DOM对象才能使用

  • DOM 对象转换为jQuery对象
  • $('DOM’对象)
  • jQuery 对象转换为DOM
  • $(‘div’)[index] index是索引号
  • $(‘div’).get(index)index是索引号

jQuery 常用API

jQuery 基础选择器

原生JS 获取元素的方法很多很杂 且兼容情况不一致 因此jQuery给我们做了一些封装 获取元素统一标准

  • $( " 选择器") 里面选择器直接写css选择器即可 但是要加引号

jQuery 层级选择器

<body>
    <div class="nav"> nav /div </div>
    <div>   divvvvvv</div>
    <ul>
        <li> ul  li  </li>
        <li>  ul  li </li>
        <li> ul li</li>
    </ul>
    <ol>
        <li>ol /li </li>
        <li>ol /li </li>
        <li>ol /li </li>
    </ol>
    <script>
        $(function(){
            console.log($('.div'));
            console.log($("ul li"));
        })
    </script>
</body>

隐式迭代

遍历内部DOM元素(伪数组形式储存)的过程叫做 隐式迭代
简单理解 在匹配到所有元素进行循环遍历 执行相应的方法 而不用我们在进行循环 简化我们的操作 方便调用

<body>
    <div> surprise</div>
    <div> surprise</div>
    <div> surprise</div>
    <div> surprise</div>
    <ul>
        <li>surprise 1</li>
        <li>surprise 1</li>
        <li>surprise 1</li>
        <li>surprise 1</li>
    </ul>
    <script>
        $("div").css("background","pink")    
        $("ul li ").css("color",'red')  
    </script>
</body>

筛选选择器

<body>
    <ul>
        <li>ul li 1</li>
        <li>ul li 2</li>
        <li>ul li 3</li>
        <li>ul li 4</li>
        <li>ul li 5</li>
    </ul>
    <ol>
        <li>ol li 1</li>
        <li>ol li 2</li>
        <li>ol li 3</li>
        <li>ol li 4</li>
        <li>ol li 5</li>
    </ol>
    <script>
        $(function(){
            $('ul li:first').css('color','red')
            $('ul li:eq(3)').css('color','red')  
            $('ol li:odd').css('color','red')
            $('ol li:even').css('color','blue')
        })
    </script>
</body>

jQuery 筛选方法

<body>
    <div class="yey">
        yeye
      <div class="bab">
          babb
         <div class="erz">
             erz

         </div>
     </div>
    </div>
    <div class="nav">
        <p> P </p>
        <div>
            <p>  sp</p>
        </div>
    </div>
    <script>
        // 以下都是方法 都带括号
        $(function(){
            // 父级 parent() 返回的是最近一级的父级
            console.log( $('.erz').parent());   
            // 子级 children() 亲儿子级  类型子代选择器 ui> li
            // $('.nav').children('p').css('color','red')
            // 可以选择 所以的 子级 find() 类似于后代选择器
            $('.nav').find('p').css('color','blue')
        })
    </script>
</body>


jquery 案例 下拉菜单 html+css+jquery

<script src="jQuery.min.js"></script>
    <style>
        *{
            margin: 0;
            padding: 0;
        }
        li{
            list-style: none;
        }
        li {
            list-style-type: none;
        }        
        a {
            text-decoration: none;
            font-size: 14px;
        }        
        .nav {
            margin: 100px;            
        }
        
        .nav>li {
            position: relative;
            float: left;
            width: 80px;
            height: 40px;
            text-align: center;
        }        
        .nav li a {
            display: block;
            width: 100%;
            height: 100%;
            line-height: 40px;
            color: #333;
        }        
        .nav>li>a:hover {
            background-color: #eee;
        }        
        .nav ul {
            display: none;
            position: absolute;
            top: 40px;
            left: 0;
            width: 100%;
            border-left: 1px solid #FECC5B;
            border-right: 1px solid #FECC5B;
        }
        .nav ul li {
            border-bottom: 1px solid #FECC5B;
        }        
        .nav ul li a:hover {
            background-color: #FFF5DA;
        }
    </style>
</head>
<body>
    <ul class="nav">
        <li>
            <a href="#"> 李白</a>
            <ul>
                <li> <a href="#">刺客</a></li>
                <li> <a href="#">打野</a></li>
                <li> <a href="#">突进</a></li>
            </ul>
        </li>
    <script>
        $(function(){
            // 鼠标经过
            $('.nav>li').mousemove(function(){
                // $(this) jQuery 当前元素 this不加引号
                // show()显示元素 hide()隐藏元素
                $(this).children('ul').show();
            })
            // 鼠标离开
            $('.nav>li').mouseout(function(){
                // $(this) jQuery 当前元素 this不加引号
                // show()显示元素 hide()隐藏元素
                $(this).children('ul').hide();
            })        
        })
    </script>
</body>

jQuery 排他思想

想要多选一 的效果
排他思想:当前元素设置样式 兄弟元素清楚样式

    <script src="jQuery.min.js"></script>
</head>
<body>
    <button>按钮</button>
    <button>按钮</button>
    <button>按钮</button>
    <button>按钮</button>
    <button>按钮</button>
    <button>按钮</button>
    <script>
        $(function(){
            $("button").click(function(){
                $(this).css("background","skyblue");
                $(this).siblings("button").css("background","")
            })
        })
    </script>
</body>

链式编程

链式编程是为了节省代码量 使代码看起来更优雅

<body>
    <button>按钮</button>
    <button>按钮</button>
    <button>按钮</button>
    <button>按钮</button>
    <button>按钮</button>
    <button>按钮</button>
    <script>
        $(function(){
            // $("button").click(function(){
            //     $(this).css("background","skyblue");
            //     $(this).siblings("button").css("background","")
            // })
                   // 链式编程
            $(this).css("background","skyblue").sibling("button").css("background","")
        })

jQuery 样式操作 …操作CSS方法

jQuery 可以使用css方法 修改简单元素样式 也可以操作类 修改多个样式

  • 只写属性名 则返回的是属性值 $(this).css( " 属性名")
  • 参数 是 属性名 属性值 逗号分隔 是设置一组样式 属性必须加引号 如果是数字 可以不用加引号和单位 … $( this).css(“属性名”,“属性值”)
  • 参数可以是对象形式 方便设置多组样式 属性值和属性名 冒号隔开 非数字必须加引号
<style>
        div{
            width: 100px;
            height: 100px;
            margin: 100px auto;
            background-color: orange;
        }
    </style>
</head>
<body>
    <div></div>
    <script>
        $(function(){
            //只写属性名 则返回的是属性值
           console.log( $("div").css("width")); 

            // 写属性名 和属性值  逗号隔开属性必须加引号
            // $("div").css("width","200px")

            // $("div").css("width",200)  //  属性值可以不用加引号

            // 参数可以是对象形式 方便设置多组样式 属性值和属性名 冒号隔开 非数字必须加引号
            $("div").css({
                width:200,
                height:200,
                backgroundColor:"skyblue"  // backgroundColor 使用驼峰命名法
            })
        })
    </script>
</body>


设置类样式方法

作用等同于以前的的classList 可以操作类样式 注意里面的参数不要会加点

  • 1 添加类
    $("div).addClass("类名”)
  • 2 移除类
    $('div).removeClass("类名”)
  • 3 切换类
    $('div).toggleClass("类名”)
 <style>
        div{
            width: 150px;
            height: 150px;
            background-color: orange;
            margin: 100px auto;
            transition: all 0.8s;
        }
        .nav{
            
            width: 200px;
            height: 200px;
            background-color: skyblue;
            transform: rotate(360deg);
        }
    </style>
</head>
<body>
    <div ></div>
    <script>
        $(function(){

            // 1 添加类  addClass(“ ”)
            // $("div").click(function(){
            //     $(this).addClass("nav")
            // })

            // 2 删除类 removeClass(" ")
            // $("div").click(function(){
            //     $(this).removeClass("nav")
            // })

            // 3 切换类 toggleClass(" ")
            $("div").click(function(){
                $(this).toggleClass("nav")
            })
  
               
        })
    </script>
</body>

jQuery 效果

jquery给我们封装了了很多动画效果

  • 显示和隐藏
    show()显示
    hide() 隐藏
    toggle()切换
  • 滑动
    slideDown()
    slideUp()
    slideToggle()
  • 淡入淡出
    fadeIn()
    fadeOut()
    fadeToggle()
    fadeTo()
  • 自定义动画
    animate()

显示和隐藏效果

显示语法规范

   show([speed,[easing],[fn]]

显示参数

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

隐藏语法规范

   hide([speed,[easing],[fn]])

显示参数

  • 参数可以省略 无动画效果 直接显示
  • speed:三种预定速度之一的字符串(“slow”,“normal”, or “fast”)或表示动画时长的毫秒数值(如:1000)
  • easing:(Optional) 用来指定切换效果,默认是"swing",可用参数"linear"
  • fn:在动画完成时执行的函数,每个元素执行一次。
<script src="jQuery.min.js"></script>
    <style>
        div{
            width: 150px;
            height: 200px;
            background-color: red;
        }
    </style>
</head>
<body>
    <button>显示</button>
    <button> 隐藏</button>
    <button>切换</button>
    <div></div>
    <script>
        $(function(){
            // button 索引号为1 的 点击事件
            $("button").eq(1).click(function(){
                $("div").hide(1000,function(){//点击后 div 1000毫秒(1秒)隐藏  在执行回调函数
                    alert(123)
                } )   
            })
            $("button").eq(0).click(function(){
                $("div").show(1000,function(){//点击后 div 1000毫秒(1秒)显示  在执行回调函数
                    alert(456)
                } )   
            })
            $("button").eq(2).click(function(){
                $("div").toggle(1000,function(){//点击后 div 1000毫秒(1秒)切换 在执行回调函数
                    alert(789)
                } )   
            })

        })
    </script>

滑动效果及事件切换

语法规范

 slideDown([speed],[easing],[fn])

显示参数

  • 参数可以省略 无动画效果 直接显示
  • speed:三种预定速度之一的字符串(“slow”,“normal”, or “fast”)或表示动画时长的毫秒数值(如:1000)
  • easing:(Optional) 用来指定切换效果,默认是"swing",可用参数"linear"
  • fn:在动画完成时执行的函数,每个元素执行一次。
 <style>
        div{
            display: none;
            width: 150px;
            height: 300px;
            background-color: skyblue
        }
    </style>
</head>
<body>
    <button>下拉滑动</button>
    <button> 上拉滑动</button>
    <button>切换滑动 </button>
    <

以上是关于jQuery 《基础整合》 jQuery插件jQueryAPI查询网站的主要内容,如果未能解决你的问题,请参考以下文章

jQuery插件

jquery 历史插件

表单验证插件之jquery.validate.js

100+经典常用的jQuery插件大全实例演示和下载

jQuery tablesorter 页面插件不起作用

jqGrid 插件 (Tony Tomov, Oleg Kiriljuk) - 兼容 jQuery, jQuery UI