论如何把JS踩在脚下 —— JQuery基础及Ajax请求详解

一、什么是JQuery?

JQuery是一种JavaScript框架,是一堆大神搞出来的能够让前端程序猿敲更少代码、实现更多功能的工具(在此,跪谢各位JQuery开发大大们!!!)。JQuery的使用给优化HTML文档操作、事件处理、动画设计和Ajax交互提供了巨大的便利。而且,其特有的链式语法也较与JS更为清晰。

二、JQuery入门

想要使用JQuery框架,就必须在html文档中导入JQuery插件,导入方式和日常导入外部JS文件的方式是相同的。但要注意,在同一html文档中插入多个外部JS文件是一定要格外注意引入的位置与不同文件的顺序!!!(JQuery官方下载地址在这里,宣传费就不用给了:http://jquery.com/)

下面我们就以代码的形式来了解一下JQuery的语法与部分注意事项。

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>JQuery笔记</title>

        <script language="JavaScript" src="js/jquery-1.10.2.js"></script>

    </head>

    <body>

        <p name="p" id="p">这是P1标签的文字</p>

        <p>这是P2标签的文字</p>

        <p>这是P3标签的文字</p>

        <select id="select">
            <option>123</option>
            <option>456</option>
            <option>789</option>
        </select>

        <input type="checkbox" value="1" />1
        <input type="checkbox" value="2" />2
        <input type="checkbox" value="3" />3
        <input type="checkbox" value="4" />4

    </body>

    <script type="text/javascript">

        //JQuery语法
            //1、jQuery("选择器").action();通过选择器调用事件函数
            //        但jQuery中,jQuery可以用$代替,即$("选择器").action();
                //①选择器可以直接使用css选择器,选中元素;
                //②.action()表示对元素执行的操作;
            //2、文档就绪函数:防止文档在完全加载(就绪)之前运行jQuery代码
                //        $(document).ready(function(){
                //            // JQuery代码
                //        });

                //        $(function(){
                //            //文档就绪函数的简写方式
                //        });

                //[文档就绪函数 与 window.onload 区别]
                //①    window.onload需要在网页所有内容加载完成后执行(包括图片和音频);
                //        文档就绪函数,只需要在网页DOM结构加载以后便执行。
                //②    window.onload只能写一个,写多个只会执行最后一个;
                //        文档就绪函数,可以写多个,也不会被覆盖。

            //3、JQuery对象与原生DOM对象互转
                //①    原生DOM对象转JQuery对象:$(DOM对象)
                    //        var p = document.getElementsByTagName("p");
                    //        $(p);
                //② JQuery对象转原生DOM对象:$("p").get(0) 或 $("p")[0]
                    //        $("p").get(0).style.color = "#00ff00";

        $("p").hide();
        $("p").fadeIn(5000);

        $("#select").val(["123"]);
        $("input[type=‘checkbox‘]").val(["1","2","3","4"])

        $("#p").attr({"name":"pppppppp","class":"aaa"})
    </script>

</html>

三、JQuery中的事件与动画

JQuery在前端开发中带给我们很多便利,其中就有其自带的部分动画与事件,下面是这一部分比较常用的代码讲解。

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>笔记-JQuery事件与动画</title>

        <script src="js/jquery-1.10.2.js" language="JavaScript"></script>

        <style type="text/css">

            p{
                width: 50px;
                height: 50px;
                background-color: #00FFFF;
            }
            div{
                width: 150px;
                height: 75px;
                color: #FFFFFF;
                background-color: #00FFFF;
                text-align: center;
                line-height: 75px ;
                white-space: nowrap;
                overflow: hidden;
                text-overflow: ellipsis;
            }

        </style>

    </head>
    <body>

        <button>点击我触发事件</button>
        <p>12345</p>
        <div style="display: none;" id="div1">这个原来是隐藏的div</div>
        <div id="div2">这个是显示的div</div>

    </body>

        <script type="text/javascript">

            //    事件绑定快捷方式
//            $("button:first").click(function(){
//                alert("1");
//            })

            //使用on绑定事件
            //① 使用on进行单事件绑定
//            $("button:first").on("click",function(){
//                console.log($(this).html());
//            })
            //② 使用on同时为多个事件,绑定同一函数
//            $("button:first").on("click mouseover",function(){
//                console.log($(this).html());
//            })
            //③ 调用函数时,传入自定义参数
//            $("button:first").on("click",{name:"wk"},function(event){
//                //使用event.data.属性名 找到传入的参数
//                console.log(event.data.name);
//            })
            //④ 使用on进行多事件多函数绑定
//            $("button:first").on({
//                click:function(){
//                    console.log("click");
//                },
//                mouseover:function(){
//                    console.log("mouseover");
//                }
//            })
            //⑤ 使用on进行事件委派
                //>>>将原本需要绑定到某元素上的事件改为绑定在父元素乃至根节点上,然后委派给当前元素生效
                //>>>作用:默认的绑定方式,只能绑定到页面初始时已有的元素,当页面新增p元素时,无法绑定到新元素上;
                //                    使用事件委派方式,当页面新增元素时,可以为所有新元素绑定事件
//            $("body").on("click","button",function(){
//                alert("1");
//            })
//            $("button").on("click",function(){
//                var p = $("<p>44444</p>");
//                $("p").after(p);
//            })
//            $(document).on("click","p",function(){
//                alert(1);
//            })

            //off 取消事件绑定
            //1、$("p").off() 取消所有事件
            //2、$("p").off("click") 取消点击事件
            //3、$("p").off("click mouseover") 取消多个事件
            //4、$(document).off("click","p") 取消事件委派

            //one 绑定唯一一次事件
//            $("button").one("click",function(){
//                alert(1);
//            })

            //trigger 自动触发某元素的事件
//            $("p").click(function(event,arg1,arg2){
//                alert("触发了p的click事件"+arg1+arg2);
//            })
//            $("button").click(function(){
//                $("p").trigger("click",["呵呵呵","哈哈哈"]);//触发事件时,传递参数
//            })

            //动画效果

            // .show():让隐藏元素显示,效果为同时修改元素的宽度,高度,opacity属性
                //① 不传参数,让隐藏的元素直接显示,不进行动画
                //② 传入时间,多少毫秒之内完成动画
                //③ 传入时间、函数,完成动画之后完成回调函数
            // .hidden():让显示元素隐藏,与show相反
//            $("#div1").show(1000,function(){
//                alert("动画")
//            });
//            $("#div2").hide(1000);

            // .slideDown():让隐藏元素显示,效果为从上往下增加高度
            // .slideUp():让显示元素隐藏,效果为从下往上减小高度
            // .slideToggle():让隐藏元素显示,让隐藏的显示

            //.fadeIn():让隐藏元素显示,淡入
            //.fadeOut():让显示元素隐藏,淡出
            //.fadeToggle():让隐藏元素显示,让隐藏的显示,淡入、淡出
            //.fadeTo(时间,透明度,函数):让隐藏元素显示,让隐藏的显示,淡入、淡出,但是多了必选的透明度参数,可以指定显示的最终透明度
//            $("#div1").fadeIn(1000,function(){
//                alert("动画")
//            });
//            $("#div2").fadeOut(1000,function(){
//                alert("动画")
//            });

            //.animate({最终的样式属性键值对},动画时间,动画效果linear和swing,回调函数):自定义动画
//            $("#div2").animate({
//                width:"150px",
//                opacity:"0"
//            },2000,"linear")

        </script>

</html>

四、Ajax请求

哈哈哈,重头戏来了。Ajax请求是JQuery给我们带来的最大最大的福利,通过Ajax,我们可以免除很多不必要的工作,下面依然是这一部分重点的讲解,虽然内容很少,但是其精华就在于其中小小一部分

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>JQuery高级Ajax</title>

        <script language="JavaScript" src="js/jquery-1.10.2.js"></script>

        <script type="text/javascript">

            $(function(){

                //JSON对象

                    //1、JSON对象时键值对的集合,键与值间用":"分割,多个键值对之间用","分割;
                    //2、多个JSON对象,可以放到数组中去;JSON对象和数组可以相互嵌套;

                    //JSON对象的键必须是字符串

                $("button").click(function(){

                      $.ajax({
                        type:"post",
                        url:"http://192.168.4.172:8080/json/h51701.json",
                        dataType:"JSON",
                        success:function(data){
//                            console.log(data);
                            $("div").html(data[0].age);
                        }
                    });

                })

            })

        </script>

    </head>
    <body>

        <button>点击请求JSON文件</button>

        <div></div>

    </body>
</html>
时间: 2024-10-09 05:50:23

论如何把JS踩在脚下 —— JQuery基础及Ajax请求详解的相关文章

jquery中的ajax方法详解

定义和用法ajax() 方法通过 HTTP 请求加载远程数据.该方法是 jQuery 底层 AJAX 实现.简单易用的高层实现见 $.get, $.post 等.$.ajax() 返回其创建的 XMLHttpRequest 对象.大多数情况下你无需直接操作该函数,除非你需要操作不常用的选项,以获得更多的灵活性.最简单的情况下,$.ajax() 可以不带任何参数直接使用.注意:所有的选项都可以通过 $.ajaxSetup() 函数来全局设置. 语法 jQuery.ajax([settings])

jQuery jsonp跨域请求详解

跨域的安全限制都是对浏览器端来说的,服务器端是不存在跨域安全限制的. 浏览器的同源策略限制从一个源加载的文档或脚本与来自另一个源的资源进行交互. 如果协议,端口和主机对于两个页面是相同的,则两个页面具有相同的源,否则就是不同源的. 如果要在js里发起跨域请求,则要进行一些特殊处理了.或者,你可以把请求发到自己的服务端,再通过后台代码发起请求,再将数据返回前端. 这里讲下使用jquery的jsonp如何发起跨域请求及其原理. 先看下准备环境:两个端口不一样,构成跨域请求的条件. 获取数据:获取数据

Jquery基础之ajax

ajax是Asynchronous JavaScript and XML(异步JavaScript和XML)的简称,ajax并不是单一的技术而是利用一系列交互网页应用相关的技术形成的结合体,ajax揭开了无刷新更新页面的全新时代. ajax优点:不需要插件支持.优秀的用户体验.提高Web程序的性能.减轻服务器和宽带的负担.缺点:浏览器支持度不足.破浏览器前进后退按钮的正常功能.对搜索引擎的支持不足.开发和调试工具缺乏. Jquery对ajax操作进行了封装,ajax主要的几种方法是load().

jquery.dataTables插件使用例子详解

DataTables是一个jQuery的表格插件.这是一个高度灵活的工具,依据的基础逐步增强,这将增加先进的互动控制,支持任何HTML表格 效果图 代码 <!doctype html> <html lang="en"> <head>     <meta charset="UTF-8">     <title>jquery.dataTables插件</title>     <link rel

触碰jQuery:AJAX异步详解

触碰jQuery:AJAX异步详解 传送门:异步编程系列目录…… 示例源码:触碰jQuery:AJAX异步详解.rar AJAX 全称 Asynchronous JavaScript and XML(异步的 JavaScript 和 XML).它并非一种新的技术,而是以下几种原有技术的结合体. 1)   使用CSS和XHTML来表示. 2)   使用DOM模型来交互和动态显示. 3)   使用XMLHttpRequest来和服务器进行异步通信. 4)   使用javascript来绑定和调用.

jQuery版推箱子游戏详解和源码

前言 偶然间看到很多用js写游戏的感觉很炫酷的样子,所以就想试试,就看了一些资料和某前端站点的视屏.于是乎就自己动手实践了一下,上推箱子截图 感觉很丑陋,但是功能是实现了.再说貌似大多都是这样的吧,这一关其实还是有点难度的,我做完之后想检测一下下一关正确么,居然还玩了以后才通关. 如果你看到这张图让你想起了你童年的回忆,说明你老了,这里可以试玩一下(很遗憾没有链接地址,最后又源码可以下载). css布局 主要考虑的是地图是怎么动态生成的,地图中有灰色的,还有墙,箱子,蓝色,红色背景,人物.先看c

触碰jQuery:AJAX异步详解(转)

AJAX 全称 Asynchronous JavaScript and XML(异步的 JavaScript 和 XML).它并非一种新的技术,而是以下几种原有技术的结合体. 1)   使用CSS和XHTML来表示. 2)   使用DOM模型来交互和动态显示. 3)   使用XMLHttpRequest来和服务器进行异步通信. 4)   使用javascript来绑定和调用. 通过AJAX异步技术,可以在客户端脚本与web服务器交互数据的过程中使用XMLHttpRequest对象来完成HTTP请

jQuery Validate插件 reomte用法详解

在用户注册时经常要通过ajax请求判断用户账号是否已注册,最方便的方法便是用jQuery Validate插件 reomte方法 Jquery Validate插件, 调用远程方法验证参数, remote的用法: 在validate的方法上加入remote:"校验方法",例如:remote: "/test/checkAccount.jsp", 这时传进checkAccount.jsp的参数就是account=$("#account").val()

jquery跨域Ajax请求

sonp原理: 首先在客户端注册一个callback, 然后把callback的名字传给服务器. 此时,服务器先生成 json 数据.然后以 javascript 语法的方式,生成一个function , function 名字就是传递上来的参数 jsonp. 最后将 json 数据直接以入参的方式,放置到 function 中,这样就生成了一段 js 语法的文档,返回给客户端. 客户端浏览器,解析script标签,并执行返回的 javascript 文档,此时数据作为参数,传入到了客户端预先定