jQuery其他方法及插件使用

news2024/12/24 9:53:30

1. 拷贝对象

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="../../jQuery.min.js"></script>
</head>

<body>
    <!-- 
        ```jQuery.extend() 函数用于将一个或多个对象的内容合并到目标对象```; 
        如果想要把某个对象拷贝给另给一个对象使用,此时就要使用 $.extend([deep], target, object1, [objectN])方法了!
        深拷贝和浅拷贝; 
        deep:    true为深拷贝, 默认false为浅拷贝; 
        target:  要拷贝的目标对象; 
        object1: 待拷贝到第一个对象的对象; 
     -->
    <script>
        $(function () {
            var targetObj = {};
            var obj = {
                id: 1,
                name: "tom"
            }
            $.extend(targetObj, obj); //把obj拷贝给targetObj
            console.log(targetObj);
            console.log('------------------------');


            var _targetObj = {
                id: 0
            };
            var _obj = {
                id: 8998,
                name: "andy"
            };
            $.extend(_targetObj, _obj);
            console.log(_targetObj);    // _targetObj原来的id被覆盖掉了, 同时name被添加进去了
            console.log('-------------------------');

            //深浅拷贝
            //1. 浅拷贝:只是把被拷贝对象的 【复杂数据类型中的地址给目标对象】,修改目标对象会影响被拷贝对象!
            // 默认是false,浅拷贝; 
            console.log('----浅拷贝-----');
            var __targetObj = {
                id: 0,
                msg: {
                    sex: 'man'
                }
            };
            var __obj = {
                id: 888,
                msg: {
                    age: 18
                },
                name: "andy"
            };
            $.extend(__targetObj, __obj);
            __targetObj.msg.age = 89;
            console.log(__targetObj);     // msg整体被覆盖, name被添加进去了
            console.log(__obj);           // 和__targetObj内容是一样的
            /*
                此时__targetObj 和 __obj中复杂类型msg对象的地址都是一样的, 
                而后又修改了msg中的age, 所以最终__targetObj和__obj的结果应该是一样的; 
                对于简单数据类型来说:和目标对象相同的直接覆盖,其他直接追加进目标对象当中: 如id发生覆盖,name进行追加; 
                {
                    id: 888,
                    msg: { age: 89 }
                    name: 'andy'
                }
            */
            


            //2. 深拷贝: 两个对象,仅仅是值的拷贝,单独有内存空间, 互不影响
            console.log('----深拷贝-----');
            var ___targetObj = {
                id: 0,
                msg: {
                    sex: 'man'
                }
            };
            var ___obj = {
                id: 888,
                msg: {
                    age: 18
                },
                name: "andy"
            };
            $.extend(true, ___targetObj, ___obj);
            ___targetObj.msg.age = 999;
            console.log(___targetObj);  // id被替换了, msg进行了合并 
            console.log(___obj);        // ___obj保持原样
            /*
                此时___targetObj 和 ___obj对象中的复杂类型msg对象的地址都不一样,各是各的,彼此互不影响;
                所以最终结果:
                    ___targetObj
                        {
                            id: 888,
                            msg: { sex: 'man', age: 999 }
                            name: 'andy'
                        }
                        
                    ___obj 
                        {
                            id: 888
                            msg: { age: 18 }
                            name: 'andy'
                        }
            */
        });
    </script>
</body>

</html>

2. 多库共存

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="../../jQuery.min.js"></script>
</head>
<body>
    <div></div>
    <span></span>
    <!-- 
        jQuery使用$作为标识符, 随着jQuery的流行, 其他js库也可能用$作为标识符, 这样一起使用会产生冲突; 
        此时需要一个解决方案, 让jQuery和其他js库不存在冲突, 可以同时存在, 这就叫做多库共存. 
        解决方案:
            1. 如果$产生了冲突, 那么干脆在jQuery中使用jQuery来代替$; jQuery("div")
            2. jQuery变量规定新的名称: $.noConflict(),  var xx = $.noConflict();  xx(""); 
     -->
     <script>
         $(function() {
             //自己封装的函数, 使用了$作为函数名; 
             function $(ele) {  
                 return document.querySelector(ele);
             }
             console.log($("div"));


             var _SB = jQuery.noConflict(); //好比说这个_SB变量就相当于之前直接使用$(), jQuery()的那种形式
             console.log(_SB("div"));
             console.log(_SB("span"));
         })
     </script>
</body>
</html>

3. 插件

案例gitee地址:
https://gitee.com/studyCodingEx/studys
在这里插入图片描述

3.1 init

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <!-- 
        jQuery功能有限, 想要更复杂的效果, 可以借助jQuery插件完成; 
        注意:这些插件都是依赖于jQuery来完成的, 所以必须先引入jQuery文件, 因此也称为jQuery插件; 
        jQuery之家:http://www.htmleaf.com/
        jQuery插件库:http://www.jq22.com/
     -->
</body>
</html>

3.2 瀑布流
请添加图片描述

3.3 图片懒加载

请添加图片描述

3.4 全屏滚动

请添加图片描述

3.4 bootStrap-Js插件

请添加图片描述

3.5 阿里百秀

请添加图片描述

3.6 toDoList

请添加图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/581979.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

跨域 + 四种解决办法

目录 同源策略 解决方案 1、jsonp 2、前端代理 3、后端解决 4、Nginx代理 同源策略 说到跨域就不得不提到同源策略&#xff0c;什么是同源策略&#xff1f; 请求的时候拥有相同的 协议 域名 端口 只要有一个不同就属于跨域 解决方案 解决跨域问题一共有四种方式&#xff…

chatgpt赋能python:Python中的Join方法详解:简化拼接字符串的操作

Python中的Join方法详解&#xff1a;简化拼接字符串的操作 在Python编程中&#xff0c;拼接字符串是一项常见的操作。在过去&#xff0c;我们通常使用“”符号来连接多个字符串。但是&#xff0c;这种方法不是很高效&#xff0c;特别是当需要拼接大量字符串时。这时候&#xf…

基于html+css的图展示98

准备项目 项目开发工具 Visual Studio Code 1.44.2 版本: 1.44.2 提交: ff915844119ce9485abfe8aa9076ec76b5300ddd 日期: 2020-04-16T16:36:23.138Z Electron: 7.1.11 Chrome: 78.0.3904.130 Node.js: 12.8.1 V8: 7.8.279.23-electron.0 OS: Windows_NT x64 10.0.19044 项目…

python+django+vue学生在线选课系统93pul

随着信息化时代的到来&#xff0c;网络系统都趋向于智能化、系统化&#xff0c;选课系统也不例外&#xff0c;但目前国内的有些学校仍都使用人工管理&#xff0c;学校规模越来越大&#xff0c;同时信息量也越来越庞大&#xff0c;人工管理显然已无法应对时代的变化&#xff0c;…

初识Spring -- Spring入门保姆级教程(一)

文章目录 前言一、Spring是什么&#xff1f;1.概述2.了解spring家族3.spring系统概述4.spring优点5.spring学习路线 二、入门spring1.核心概念2.IOC入门案例3.DI入门案例4.bean的配置5.spring 中 bean的实例化--构造方法6.bean的实例化 -- 静态工厂实例化7.bean实例化--实例工厂…

IEEE802.3和IEEE802.11的分类(仅为分类)

IEEE802.3标准 IEEE802.3:10兆以太网 ●10Base&#xff0d;5 使用粗同轴电缆&#xff0c;最大网段长度为500m&#xff0c;基带传输方法&#xff1b; ●10Base&#xff0d;2 使用细同轴电缆&#xff0c;最大网段长度为185m&#xff0c;基带传输方法&#xff1b; ●10Base&am…

python+vue宠物用品商城网站django宠物领养系统31e70

我们也变得越来越忙碌、对生活的要求也变得更加严格&#xff0c;对快速和方便的服务的需求也在逐渐增加。因此&#xff0c;对宠物行业的管理、服务的要求也越来越严格。为适应时代的发展&#xff0c;各大宠物店开始广泛地使用电脑来进行管理&#xff0c;并推出在线宠物管理系统…

华为OD机试真题B卷 Java 实现【去除多余空格】,附详细解题思路

一、题目描述 去除文本多余空格&#xff0c;但不去除配对单引号之间的多余空格。给出关键词的起始和结束下标&#xff0c;去除多余空格后刷新关键词的起始和结束下标。 条件约束&#xff1a; 不考虑关键词起始和结束位置为空格的场景&#xff1b;单词的的开始和结束下标保证…

100天精通Python(可视化篇)——第89天:Bokeh库绘图可视化基础入门(参数说明+案例实战)

文章目录 专栏导读一、Bokeh是什么&#xff1f;二、安装与导入三、Bokeh接口介绍四、创建图表五、添加自定义渲染器切换主题添加图例图例位置图例方向图例背景和边界图例文本的外观行列布局网格布局 专栏导读 &#x1f525;&#x1f525;本文已收录于《100天精通Python从入门到…

十万个C语言冷知识

1.printf返回值&#xff1a; 成功&#xff1a;返回打印字符的个数 失败&#xff1a;返回EOF&#xff0c;EOF是文件结束的标志&#xff0c;宏定义为-1 #include <stdio.h> int main() {char str[] "123456789";printf("%d\n", printf("%d\n&quo…

效率神器AutoHotKey的初步使用

文章目录 下载安装与体验快捷键在程序中的热键热字串和重映射实战 Python命令行 下载安装与体验 下载AHK&#xff0c;安装后&#xff0c;右键->新建->AutoHotkey脚本&#xff0c;内容为 #space::Run tinycool.blog.csdn.net其中&#xff0c;#表示Win键&#xff1b;#spa…

Rust每日一练(Leetday0014) 组合总和II、缺失正数、接雨水

目录 40. 组合总和 II Combination Sum II &#x1f31f;&#x1f31f; 41. 缺失的第一个正数 First Missing Positive &#x1f31f;&#x1f31f;&#x1f31f; 42. 接雨水 Trapping Rain Water &#x1f31f;&#x1f31f;&#x1f31f; &#x1f31f; 每日一练刷题…

Web 自动化测试案例(入门级)——关闭某视频网站弹出广告以及打开登录框输入内容

文章目录 &#x1f4cb;前言&#x1f3af;自动化测试&#x1f9e9;环境的搭建 &#x1f3af;案例介绍&#x1f4dd;最后 &#x1f4cb;前言 人生苦短&#xff0c;我用Python。许久没写博客了&#xff0c;今天又是久违的参与话题的讨论&#xff0c;话题的内容是&#xff1a;如何…

基于springboot注解的shiro 授权及角色认证

目录 授权 后端接口服务注解 授权验证-没有角色无法访问 授权验证-获取角色进行验证 授权验证-获取权限进行验证 授权验证-异常处理 授权 用户登录后&#xff0c;需要验证是否具有指定角色指定权限。Shiro也提供了方便的工具进行判 断。 这个工具就是Realm的doGetAuthor…

华为OD机试真题B卷 Java 实现【狼羊过河】,附详细解题思路

一、题目描述 一农夫带着m只羊&#xff0c;n只狼过河&#xff0c;农夫有一条可载x只狼/羊的船&#xff1b;农夫在时或者羊的数量大于狼时&#xff0c;狼不会攻击羊&#xff1b; 农夫在不损失羊的情况下&#xff0c;运输几次可以完成运输&#xff1f; 返程不计入次数。 二、…

K8s容器运行环境安全加固

K8s容器运行环境安全加固 目录 文章目录 K8s容器运行环境安全加固目录1、最小特权原则&#xff08;POLP&#xff09;2、AppArmor限制容器对资源访问3、Seccomp 限制容器进程系统调用关于我最后 1、最小特权原则&#xff08;POLP&#xff09; **最小特权原则 (Principle of lea…

graalvm把java编译为c/c++能够使用的动态库(dll/so)

graalvm把java编译为c/c能够使用的动态库(dll/so) 1.安装graalvm oracle官方企业版 github的openjdk版本 1.1 下载对应系统版本&#xff0c;配置环境变量 本人环境 1. win10 openjdk 17.0.5 2022-10-18 OpenJDK Runtime Environment GraalVM CE 22.3.0 (build 17.0.58-jv…

chatgpt赋能python:Python中的None值如何去掉?

Python中的None值如何去掉&#xff1f; Python是一种具有高度灵活性和可读性的编程语言&#xff0c;它有许多强大的功能&#xff0c;令许多开发人员喜欢使用它。然而&#xff0c;可能会遇到延迟或者None值的情况&#xff0c;这时需要我们找到正确的方法去除它们。 None值是什…

C#,码海拾贝(27)——求解“对称方程组”的“分解法”之C#源代码,《C#数值计算算法编程》源代码升级改进版

using System; namespace Zhou.CSharp.Algorithm { /// <summary> /// 求解线性方程组的类 LEquations /// 原作 周长发 /// 改编 深度混淆 /// </summary> public static partial class LEquations { /// <summary> /…

happens-before规则

happens-before背景由来 happens-before的概念最初由Leslie Lamport在其一篇影响深远的论文&#xff08;《Time&#xff0c;Clocks and the Ordering of Events in a Distributed System》&#xff09;中提出。Leslie Lamport使用 happens-before 来定义分布式系统中事件之间…