• jQuery基础


    jQuery框架由于轻量级、强大的选择器、出色的DOM操作封装、可靠的事件处理机制、出色的浏览器兼容性等一系列的优点,被应用于项目开发中。

    学习目标

    可使用jQuery选择器

    可使用jQuery进行基本的DOM操作

    可运用jQuery进行事件处理

    会运用jQuery进行简单的动画设计

    会使用jQuery的Ajax请求

    • jQuery简介
    • jQuery选择器
    • DOM操作
    • 事件处理
    • 动画设计
    • Ajax请求

    随着JavaScript、CSS、Ajax等技术的不断进步,越来越多的开发者将一个又一个丰富多彩的程序功能进行封装,供其他人可以调用这些封装好的程序组件(框架)

    当前流行的 JavaScript 库有:

    特点

    轻量级

    强大的选择器

    出色的DOM操作封装

    可靠的事件处理机制

    出色的浏览器兼容性

    使用:

    <script src=" jquery.js " ></script>

    基础语法:

    $(selector).action() 美元符号定义 jQuery (又称工厂函数)

    选择器(selector)“查找” HTML 元素

    action() 执行对元素的操作

    jQuery实例:

    <script src=“jquery/jquery.js "></script>
    <script>
     $(document).ready(function(){  
        alert("Hello World!");
    });
    </script>

    引入jQuery

    等待DOM文档载入后执行类似于window.onload

    弹出一个对话框

    jQuery选择器

    jQuery 选择器允许对 HTML 元素组或单个元素进行操作

    jQuery 选择器基于元素的 id、类、类型、属性、属性值等"查找"(或选择)HTML 元素。 它基于已经存在的 CSS 选择器,除此之外,它还有一些自定义的选择器。

    jQuery 中所有选择器都以美元符号开头:$()。

    基础选择器

    层次选择器

    过滤性选择器

    DOM操作

    常用操作

    样式属性操作

    HTML代码操作

    html()可以对HTML代码进行操作,类似于JS中的innerHTM

    $("div").html();
    或
     $("div").html("<div class='content'>…</div>");

    获取元素中的html代码

    设置元素中的html代码

    文本操作:text()可以获取或设置元素的文本内容

    $("div").text();
    或
     $("div").text("<div class='content'>…</div>");

    获取元素中的文本内容

    设置元素中的文本内容

    属性值操作

    val()可以获取或设置元素的value属性值

    $(input).val();
    或
     $(input).val("");

    获取元素的value属性值

    设置元素的value属性值

    创建节点:工厂函数$()用于获取或创建节点

    $(selector):通过选择器获取节点

    $(element):把DOM节点转化成jQuery节点

    $(html):使用HTML字符串创建jQuery节点

    注意: 动态创建的新元素节点不会被自动添加到文档中, 而是需要使用其他方法将其插入到文档中;

    var $newNode2=$(“<li title=‘标题为千与千寻’>千与千寻</li>”);

    创建含文本与属性<li>元素节点

    插入子节点:动态创建了 HTML 元素之后, 还需要将新创建的节点插入到文档中, 即成为文档中某个节点的子节点

    插入同辈节点:元素外部插入同辈节点

     

    替换节点

    replaceWith()和replaceAll()用于替换某个节点

    $("ul li:eq(1)").replaceWith($newNode1);
    或
    $newNode1.replaceAll("ul li:eq(1)");

    两者的关系类似于append()和appendTo()

    克隆与包裹

    clone(): 克隆匹配的 DOM 元素, 返回值为克隆后的副本. 但此时复制的新节点不具有任何行为.

    clone(true): 复制元素的同时也复制元素中的的事件

    wrap(): 将指定节点用其他标记包裹起来. 该方法对于需要在文档中插入额外的结构化标记非常有用, 而且不会破坏原始文档的语义.

    删除节点

    remove():从 DOM 中删除所有匹配的元素, 传入的参数用于根据 jQuery 表达式来筛选元素. 当某个节点用 remove() 方法删除后, 该节点所包含的所有后代节点将被同时删除. 这个方法的返回值是一个指向已被删除的节点的引用.

    empty(): 清空节点 – 清空元素中的所有后代节点(不包含属性节点).

    遍历后代元素

    children():用来获取元素的所有子元素。

    find():用来获取元素的所有的后代元素

    遍历同辈元素:jQuery可以获取紧邻其后、紧邻其前和位于该元素前与后的所有同辈元素

    遍历前辈元素

    parent():获取元素的父级元素

    parents():获取元素的祖先元素

    jQuery 是为事件处理特别设计的。

    什么是事件?

    页面对不同访问者的响应叫做事件

    事件处理程序指的是当 HTML 中发生某些事件时所调用的方法。

    实例:

    在元素上移动鼠标。

    选取单选按钮

    点击元素 …

    常见鼠标事件

     

    常见表单事件

     

    常见键盘事件

    事件操作

     

    显示、隐藏

    hide(): 在 HTML 文档中, 为一个元素调用 hide() 方法会将该元素的 display 样式改为 none. 代码功能同 css(“display”, “none”);

    show(): 将元素的 display 样式改为先前的显示状态.

    以上两个方法在不带任何参数的情况下, 作用是立即隐藏或显示匹配的元素, 不会有任何动画. 可以通过制定速度参数使元素动起来.

    $(selector).hide(speed,callback);
    $(selector).show(speed,callback);

    speed参数规定隐藏/显示的速度,可 以取以下值:"slow"、"fast" 或毫秒

    隐藏或显示完成后所执行的函数名称

    切换

    toggle():切换元素的可见状态: 如果元素是可见的, 则切换为隐藏; 如果元素是隐藏的, 则切换为可见的.

    改变透明度

    fadeIn(), fadeOut(): 只改变元素的透明度. fadeOut() 会在指定的一段时间内降低元素的不透明度, 直到元素完全消失.

    fadeIn() 则相反. fadeTo(): 把不透明度以渐近的方式调整到指定的值(0 – 1 之间).

    改变高度

    slideDown(), slideUp(): 只会改变元素的高度. 如果一个元素的 display 属性为 none, 当调用 slideDown() 方法时, 这个元素将由上至下延伸显示.

    slideUp() 方法正好相反, 元素由下至上缩短隐藏. slideToggle():通过高度变化来切换匹配元素的可见性。

    自定义动画

    animate(): 用于创建自定义动画

    $(selector).animate({params},speed,callback);

    一个包含样式属性及值的映射,例: {property1:”value1”,property2”value2”}

    可以用 animate() 方法来操作所有 CSS 属性吗?

    驼峰式

    色彩动画并不包含在核心 jQuery 库中。

    使用预定义的值(show、hide、toggle)

    <div id="flip" style="background: red; height: 30px;  30px;position:relative;"></div>
    <button style="position:relative;">按钮</button>
    
    $(document).ready(function(){
        $("button").click(function(){
            $("div").animate({height:‘toggle'});  
        });
       
    });

    stop():用于在动画或效果完成前对它们进行停止。

    $(selector).stop(stopAll,goToEnd);

    规定是否立即完成当前动画,默认为false

    规定是否应该清除动画序列,默认为false,代 表仅停止活动的动画,允许任何排入队列的动 画向后执行

    参数 callback:Callback 函数在当前动画 100% 完成之后执行。

    $(selector).hide(speed,callback)

    同步和异步

    举个例子:普通B/S模式(同步) AJAX技术(异步)

    同步:提交请求->等待服务器处理->处理完毕返回 这个期间客户端浏览器不能干任何事

    异步: 请求通过事件触发->服务器处理(这时浏览器仍然可以作其他事情)->处理完毕。

    同步是指:发送方发出数据后,等接收方发回响应以后才发下一个数据包的通讯方式;

    异步是指:发送方发出数据后,不等接收方发回响应,接着发送下个数据包的通讯方式

    Ajax被认为是(Asynchronous JavaScript and XML的缩写)。现在,允许浏览器与服务器通信而无须刷新当前页面的技术都被叫做Ajax.

    Ajax是一种不用刷新整个页面便可与服务器通讯的办法

    异步过程,页面不刷新

    Ajax:$.ajax([settings])

    $.ajax({
        url: “user.json",
        data: { “curMonthSalary”: curMonthSalary},//可选的,发送到服务器的数据    
               dataType: "json",// 预期服务器返回的数据类型
        async: true, 
        success: function( data ) {
            // 获取返回的数据。
        },
        complete:function(data){    
        }
    })

    运用AJAX请求文件menu.json,配置菜单栏,并实现以下功能点:

    点击向左箭头,菜单向左移动

    点击向右箭头,菜单向右移动

    点击一级菜单,被点击菜单的子菜单显示,其他兄弟节点的子菜单隐藏

    要点回顾

    jQuery选择器

    DOM操作

    事件处理

    动画设计

    Ajax请求

  • 相关阅读:
    NLog.Config的配置示例
    极限定义新讲:动态定义与静态定义
    rclone命令
    linux用户管理命令
    vim常用命令
    Python解二元二次方程组
    英雄联盟为什么这么难玩?——认识所有英雄
    snap安装、运行ss
    阿里云邮件推送服务Python API发送邮件
    Visual Studio #include<bits/stdc++.h>万能头文件
  • 原文地址:https://www.cnblogs.com/excellencesy/p/7889609.html
Copyright © 2020-2023  润新知