一、jQuery介绍

1.jQuery能做什么

● 访问和操作DOM元素
● 控制页面样式
● 对页面事件进行处理
● 扩展新的jQuery插件
● 与Ajax技术完美结合
jQuery能做的JavaScript也都能做,但使用jQuery能大幅提高开发效率。
其实,jQuery和JavaScript的之间关系,可以理解为“成语”和“白话文”之间的关系。成语是对白话文的高度压缩,而jQuery也是对JavaScript的高度压缩库

2.jQuery的优势

● 体积小,压缩后只有100KB左右
● 强大的选择器
● 出色的DOM封装
● 可靠的事件处理机制
● 出色的浏览器兼容性

二、jQuery的使用

jQuery作为一个单独存在的js文件,并不会与其他的js文件发生冲突
在页面中使用传统引入js文件的方式引入即可。

<script src="js/jquery-3.4.1.min.js"></script>

1.基本的语法介绍

<script>$(selector).action();
</script>

说明:
● 工厂函数 $ () :将DOM对象转化为jQuery对象
● 选择器 selector:获取需要操作的DOM 元素(用法基本上和css一致 )
● 方法action():jQuery中提供的方法,其中包括绑定事件处理的方法“$”等同于“ jQuery ”

<body><p>Hello jQuery!</p><script src="js/jquery-3.4.1.min.js"></script><script>alert( $("p").text());</script>
</body>

2.jQuery对象与DOM对象

DOM对象和jQuery对象分别拥有一套独立的方法,不能混用

<body><p id="title">Hello</p><script src="js/jquery-3.4.1.min.js"></script><script>//js获取dom对象alert (document.getElementById("title").innerHTML);//jq获取dom对象alert($("p").html());var jsdom = document.getElementById("title");var jqdom = $("p");//js--->jqjqdom = $(jsdom);alert(jqdom.html());//jq--->jsjsdom = jqdom.get(0);alert(jsdom.innerHTML);</script>
</body>

3.选择器

①基本选择器

基本选择器包括标签选择器、类选择器、ID选择器、并集选择器、交集选择器和全局选择器

<p>中国</p>
<p>上海</p>
<p class="jy">加油</p>
<p id="wan">祖国万岁</p>
<h3 class="jy">祖国万岁</h3>
<script src="js/jquery-3.4.1.min.js"></script>
<script>$("p").css("color","red"); // 标签选择器,获得所有的p$(".jy").css("color","red"); //类选择器$("#wan").css("color","red"); //ID选择器,更具备唯一性$(".jy,#wan").css("color","red"); // 并集选择器,.jy和#wan$("h3.jy").css("color","red"); // 交集选择器,既是h3标签,又拥有.jy的元素
</script>

②层次选择器

<h3>000</h3>
<div id="x">111<p>p1</p><div><p>p2</p></div>
</div>
<h3>222</h3>
<h3>333</h3>
<script src="js/jquery-3.4.1.min.js"></script>
<script>$("#x p").css("color","red"); // 后代选择器,忽略层级$("#x>p").css("color","red"); // 子代选择器,只负责子级$("#x+h3").css("color","red"); // 相邻元素选择器,下一个紧邻的兄弟h3$("#x~h3").css("color","red"); // 同辈元素选择器,下面的所有兄弟h3
</script>

③属性选择器

<a href="www.baidu.com">百度</a>
<a href="www.sina.com.cn">新浪网</a>
<a href="http://www.163.com">网易</a>
<p href="x">哈哈1</p>
<p href="x" title="x">哈哈2</p>
<script src="js/jquery-3.4.1.min.js"></script>
<script>$("[href]").css("color","red"); // 选取拥有href属性的元素$("[href='x']").css("color","red"); // 选取拥有href=x的元素$("a[href!='x']").css("color","red"); // 选取a标签中href不等于x的元素$("[href^='www']").css("color","red"); // 选取href属性以www开头的元素$("[href$='com']").css("color","red"); // 选取href属性以com结尾的元素$("[href*='a']").css("color","red"); // 选取href属性包含a的元素$("p[href][title='x']").css("color","red"); // 选取拥有href属性和title属性,并且title=x的p元素
</script>

④过滤选择器

<h2 id="h2#x">名著</h2>
<ul><li>三国演义</li><li>水浒传</li><li>西游记</li><li>红楼梦</li><li>西厢记</li>
</ul>
<script src="js/jquery-3.4.1.min.js"></script>
<script>$("li:first").css("color","red"); // 第一个li$("li:last").css("color","red"); // 最后一个li$("li:even").css("color","red"); // 偶数行的li$("li:odd").css("color","red"); // 奇数行的li$("li:eq(2)").css("color","red"); // 下标为2的li$("li:gt(1)").css("color","red"); // 下标大于1的li$("li:lt(2)").css("color","red"); // 下标小于2的li$("#h2\\#x").css("color","red"); // 使用转义符
</script>

4.事件

①鼠标事件

鼠标事件是当用户在文档上移动或单击鼠标时而产生的事件,常用鼠标事件有:

<img src="img/1.jpg" width="300">
<img src="img/1.jpg" width="300">
<img src="img/1.jpg" width="300">
<script src="js/jquery-3.4.1.min.js"></script>
<script>$("img").click( function(){//点击一下,换照片//$("img").attr( "src","img/2.jpg" );//照片全部替换$(this).attr( "src","img/2.jpg" ); //this就是事件触发的源头} );$("img").mouseover( function(){ //移动到元素上$(this).css( "border","2px solid red" );} );$("img").mouseout( function(){ //离开元素$(this).css( "border","2px solid white" );} );
</script>

②键盘事件

用户每次按下或者释放键盘上的键时都会产生事件,常用键盘事件有:

<input>
<h3></h3>
<script src="js/jquery-3.4.1.min.js"></script>
<script>$("input").keyup( function(){var str = $(this).val(); // 获取框中的值$("h3").text( str ); // 将h3元素中的文本内容更改为str} );
</script>

③表单事件

当元素获得焦点时,会触发focus事件,失去焦点时,会触发blur事件,详见下表:

<form action=""><p>帐号: <input id="a" value="请输入帐号..."> </p><p>密码: <input id="b"> </p>
</form>
<script src="js/jquery-3.4.1.min.js"></script>
<script>//获得焦点(激活/点击一下)$("#a").focus(function(){$(this).val("");});//失去焦点(未激活/未点击)$("#a").blur(function(){$(this).val("请输入帐号...");});
</script>

④鼠标悬停复合事件

hover()方法相当于mouseover与mouseout事件的组合

<img src="img/3.jpg" width="400">
<script src="js/jquery-3.4.1.min.js"></script>
<script>$("img").hover(function(){$(this).css("border","5px solid red");},function(){$(this).css("border","5px solid white");});
</script>

⑤连续点击复合事件

toggle()除了可以模拟鼠标的连续单击事件

<h2>名著</h2>
<ul><li>西游记</li><li>水浒传</li><li>三国演义</li><li>红楼梦</li><li>西厢记</li>
</ul><script src="js/jquery-3.4.1.min.js"></script><script>$("h2").click(function(){$("ul").toggle(); // 连续点击,ul的可见和隐藏进行切换});
</script>

⑥事件的动态绑定

对dom元素绑定事件的另一种写法
● 绑定一个事件

$(".del").on('click', function() {alert('hello');
})

● 绑定多个事件

$(".del").on('click mouseover', function() {alert('hello');
})

5.元素的隐藏和显示

①改变元素的宽和高(带动画效果)

● show( speed ):显示
● hide( speed ):隐藏
● toggle( speed )等价于show+hide : 显示的隐藏,隐藏的显示
可选的 speed 参数规定隐藏/显示的速度,可以取以下值:“slow”、“fast” 或毫秒

<style>div{width: 200px;height: 200px;background-color: black;}
</style>
<body><button id="btn1">显示</button><button id="btn2">隐藏</button><button id="btn3">切换</button><div></div><script src="js/jquery-3.4.1.min.js"></script><script>$("#btn2").click(function(){//fast:快速的//slow:缓慢的//毫秒:自定义$("div").hide(2000);});$("#btn1").click(function(){$("div").show('slow');});$("#btn3").click(function(){$("div").toggle(1000);});</script>
</body>

②改变元素的高(拉伸效果)

● slideDown( speed ) :显示
● slideUp( speed ):隐藏
● slideToggle( speed )等价于slideDown+slideUp
可选的 speed 参数规定隐藏/显示的速度,可以取以下值:“slow”、“fast” 或毫秒

<script>$("#btn2").click(function(){$("div").slideUp(1000); //向上收缩});$("#btn1").click(function(){$("div").slideDown(1000); //向下伸展});$("#btn3").click(function(){$("div").slideToggle(1000); //切换});
</script>

③不改变元素的大小(淡入淡出效果)

● fadeIn( speed ) 显示
● fadeOut( speed ) 隐藏
● fadeToggle( speed ) 等价于fadeIn+fadeOut动画
● fadeTo( speed , 透明度 ) 方法允许渐变为给定的不透明度(值介于 0 与 1 之间)
可选的 speed 参数规定隐藏/显示的速度,可以取以下值:“slow”、“fast” 或毫秒

<script>$("#btn2").click(function(){$("div").fadeOut(1000); // 隐藏:淡出我的视线});$("#btn1").click(function(){$("div").fadeIn(1000); // 显示:映入眼帘});$("#btn3").click(function(){$("div").fadeToggle(1000); // 切换});$("#btn4").click(function(){$("div").fadeTo(1000,0.5); // 1秒内变成50%的透明度});
</script>

④链

链是允许我们在同一个元素上在一条语句中运行多个jQuery方法,可以把动作/方法链接在一起 ;
例如:点击一次按钮,让div完成4个指定动作

  1. 背景变粉
  2. 字体变绿
  3. 收缩
  4. 拉伸
<style>div{width: 200px;height: 200px;background-color: black;color:white;font-size: 3em;}
</style>
<body><button>试试</button><div>hello</div><script src="js/jquery-3.4.1.min.js"></script><script>$("button").click(function(){$("div").css("backgroundcolor","pink").css("color","green").slideUp(1000).slideDown(1000);});</script>
</body>

6.DOM和CSS的操作

①属性函数

● attr( “属性” ); 获得元素的属性值
 attr( “属性” , “新值” ); 修改元素的属性值
 attr( 样式参数 ) :样式参数可以写成json格式

<body><button id="btn1">点我试试</button><hr><img src="img/1.jpg" title="美女大图" width="300"><script src="js/jquery-3.4.1.min.js"></script><script>$("#btn1").click(function(){$("img").attr("src","img/2.jpg");$("img").attr("title","高清无码");$("img").attr( {width:"200",height:"200"} );});</script>
</body>

● val() ; 获得表单元素中的value值
 val(“x”) 修改表单元素中的value值
● html(); 获得元素中的内容(标签+文本)
 html(“x”) 修改元素中的内容(标签+文本)
● text(); 获得元素中的文本
 text(“x”) 修改元素中的文本

<button>试试</button>
<hr>
<input id="username">
<div><h1><i>中国加油!</i></h1>
</div>
<script src="js/jquery-3.4.1.min.js"></script>
<script>$("button").click(function(){alert($("input").val()); //input框中的值$("input").val("哈哈哈"); //修改input框中的值alert( $("div").html() ); //获得div中的内容(包含标签信息)alert( $("div").text() ); //获得div中的内容(不包含标签信息,只包含文本内容)$("div").text("祖国万岁!"); //修改div中的内容(全部内容都覆盖)});
</script>

②样式函数

● css( “属性”); 获得该属性值
● css( “属性”,“值”); 设置属性的值
● css( { json} ); 设置多个属性的值

<style>div{width: 150px;height: 150px;background-color: #000;}
</style>
<body><button>试试</button><hr><div></div><script src="js/jquery-3.4.1.min.js"></script><script>$("button").click(function(){var w = $("div").css("width"); // 获取css属性,width的值//1.一个键值对$("div").css("background-color","pink");//2.链式编程$("div").css("background-color","pink").css("borderradius","50%");//3.json为参数$("div").css({opacity:"0.4",background:"orange",borderRadius:"50%"} );});</script>
</body>

● width(); 获得元素的宽度
● width( number ); 修改元素的宽度
● height(); 获得元素的高度
● height( number ); 修改元素的高度

<style>div{width: 150px;height: 150px;background-color: #000;}
</style>
<body><button>试试</button><hr><div></div><script src="js/jquery-3.4.1.min.js"></script><script>$("button").click(function(){var w = $("div").width(); // (无参)获取宽度var h = $("div").height();// (无参)获取高度alert("宽:"+w+"px,高:"+h+"px");$("div").width("300"); // (传参)修改宽度$("div").height("300"); //(传参)修改高度});</script>
</body>

③类样式函数

● addClass(); 为元素添加类样式
● removeClass(); 将元素的类样式移除
● toggleClass(); 样式的切换(有->无,无->有)

<style>div{width: 100px;height: 100px;background-color: #000;}.a{background: palevioletred;border-radius: 50%;}.b{border:5px dashed darkcyan;opacity: 0.6;}.cn{background: #000;color:#FFF;font-family: 微软雅黑;}
</style>
<body><button id="btn1">试试</button><button id="btn2">取消透明度</button><button id="btn3">样式切换</button><hr><div></div><h1>中华人民共和国万岁!</h1><script src="js/jquery-3.4.1.min.js"></script><script>$("#btn1").click(function(){$("div").addClass("a");$("div").addClass("a b");});$("#btn2").click(function(){$("div").removeClass("b");});$("#btn3").click(function(){$("h1").toggleClass("cn");});</script>
</body>

④节点操作

● 创建节点
 工厂函数$()用于获取或创建节点
● 插入节点
 a.插入子节点
   b.插入同辈节点
● 替换节点
 replaceWith()
 replaceAll()
● 复制节点
 clone()
● 删除节点
 remove()删除整个节点
 empty()清空节点内容

<input> <button id="test">测试</button>
<ul><li>西游记</li><li>红楼梦</li><li>三国演义</li>
</ul>
<script src="js/jquery-3.4.1.min.js"></script>
<script>$("#test").click(function(){var bookname = $("input").val();var newli = $("<li>"+bookname+"</li>"); //通过工厂函数,创建新的li节点/*添加子节点*/$("ul").append(newli); // newli添加到ul后面newli.appendTo("ul"); // newli添加到ul后面$("ul").prepend(newli); // newli添加到ul前面newli.prependTo("ul");/*添加同辈节点*/$("li:last").after( newli ); // newli添加到最后的li的后面newli.insertAfter("li:last");$("li:last").before(newli); //newli添加到最后的li的前面newli.insertBefore("li:last");/*替换节点*/$("li:eq(1)").replaceWith(newli); // 将第二个li替换成newlinewli.replaceAll( "li:eq(1)" );/*复制节点*/$("li:first").clone().insertAfter("li:last"); // 复制第一个li,并插入到最后一个li的后面/*删除节点*/$("li:eq(1)").empty(); // 清空了节点上的文本(节点并没有消失)$("li:eq(1)").remove(); //删除节点});
</script>

7.遍历节点

①祖先元素

用于向上遍历 DOM 树的方法
● parent() 返回被选元素的直接父元素,仅仅是上一级 (找爸爸)
● parents() 返回被选元素的所有祖先元素,它一路向上直到文档的根元素,可以选择辈分

<p><button>测试</button></p>
<ul><li>a</li><li><b>b</b></li><li>c</li>
</ul>
<script src="js/jquery-3.4.1.min.js"></script>
<script>$("button").click(function(){var x = $("b").parent().html(); // 找爸爸var x = $("b").parents("ul").html(); // 找祖宗 ulvar x = $("b").parents("body").html(); // 找祖宗 bodyalert( x );});
</script>

②同辈元素

● next() 获取紧邻匹配元素之后的元素
● prev() 获取紧邻匹配元素之前的元素
● siblings( [selector] ) 获取位于匹配元素前面和后面的所有同辈元素

<button>测试</button>
<p>p1</p>
<ul><li>a</li><li><b>b</b></li><li>c</li>
</ul>
<p>p2</p>
<p id="x">p3</p>
<script src="js/jquery-3.4.1.min.js"></script>
<script>$("button").click(function(){var x = $("ul").next().text(); // 紧邻的下一个元素var x = $("ul").prev().text(); // 紧邻的上一个元素var x = $("ul").siblings("#x").text(); // 所有的兄弟中,id=x的var arr = $("ul").siblings(); // ul的所有兄弟,1个button,3个p,2个scriptfor(var i = 0 ;i< arr.length ;i++){alert(arr[i]);}});
</script>

③后代元素

后代是子、孙、曾孙等等
● children( [selector] ) 方法返回被选元素的所有直接子元素,“孩子”

<button>测试</button>
<ul><li>a</li><li>b</li><li>c</li>
</ul>
<script src="js/jquery-3.4.1.min.js"></script>
<script>$("button").click(function(){var x = $("ul").children().text(); //所有子节点:abcvar x = $("ul").children("li:first").text(); //ul中的第一个子节点alert(x);});
</script>

find( 选择器 ) 方法返回被选元素的后代元素,一路向下直到最后一个后代。

<button>测试</button>
<ul><li>盘古</li><li>蚩尤</li><li>刑天<p>龚工</p></li><h3>祝融</h3>
</ul>
<script src="js/jquery-3.4.1.min.js"></script>
<script>$("button").click(function(){var x = $("ul").find("p").text(); //在ul中查找p元素,忽略层级var x = $("ul").find("h3").text(); //在ul中查找h3元素,忽略层级var x = $("ul").find().text(); // 找什么?不知道!alert(x);});
</script>

④元素的过滤

● first():过滤第一个元素
● last():过滤最后一个元素
● eq(index):过滤到下标为index的元素
● not():除了什么之外的元素
● is():返回布尔,判断是不是这种元素

<button>测试</button>
<ul><li>盘古</li><li>蚩尤</li><li>刑天</li>
</ul>
<script src="js/jquery-3.4.1.min.js"></script>
<script>$("button").click(function(){var x = $("li").first().text(); // 第一个livar x = $("li").last().text(); // 最后一个livar x = $("li").eq(1).text(); // 下标为1的livar x = $("li").not("li:eq(1)").text(); // 除了下标为1的其余所有livar x = $("li").parent().is("ul"); // 返回布尔型,li的父节点是不是ulalert(x);});
</script>

三、案例

1.手风琴特效

<style>dd{display: none;/* 隐藏元素 */}
</style>
<body><nav><header>百度</header><ul><li><dl><dt>搜索</dt><dd>1.输入内容</dd><dd>2.开始搜索</dd></dl></li><li><dl><dt>地图</dt><dd>1.出发地</dd><dd>2.目的地</dd></dl></li><li><dl><dt>音乐</dt><dd>1.歌曲名</dd><dd>2.歌手名</dd></dl></li></ul></nav><script src="js/jquery-3.4.1.min.js"></script><script>$("nav dt").click(function(){//所有的dd全部都闭合上,除了自己的兄弟$("dd").not( $(this).siblings() ).slideUp(500);// 自己的兄弟进行切换,显示闭合上,闭合的显示出来$(this).siblings().slideToggle(500);})</script>
</body>

2.购物车结算

<style>.jian,.jia{border: 1px solid #9999;display: inline-block; /* 超链接a是行内元素,只能转换成行内块元素,才能改变宽和高 */width: 20px;height: 20px;text-align: center;text-decoration: none;}
</style>
<body><table border="1px" cellspacing="0" width="400px"><tr><td>商品编号</td><td>名称</td><td>单价</td><td>数量</td><td>总价</td></tr><tr><td>1</td><td>烤肠</td><td>3</td><td><a href="#" class="jian">-</a><span>1</span><a href="#" class="jia">+</a></td><td>3</td></tr><tr><td>2</td><td>手抓饼</td><td>10</td><td><a href="#" class="jian">-</a><span>1</span><a href="#" class="jia">+</a></td><td>10</td></tr><tr><td>3</td><td>大肉粽</td><td>6</td><td><a href="#" class="jian">-</a><span>1</span><a href="#" class="jia">+</a></td><td>6</td></tr></table><p style="width: 400px; text-align: right;">总价:<b style="color:red;">111</b> <button>提交订单</button></p><script src="js/jquery-3.4.1.min.js"></script><script>$(".jia").click(function(){var i = $(this).prev().text();//获得原来商品数量i++;$(this).prev().text(i);//现在商品数量var price = $(this).parent().prev().text();//单价var zong = i * price;//总价$(this).parent().next().text(zong);//现在商品总价getTotal();});$(".jian").click(function(){var i = $(this).next().text();i--;if(i == 0){//询问数量为0是否删除该商品if(confirm("是否删除该商品?")){$(this).parents("tr").remove();}}else{$(this).next().text(i);var price = $(this).parent().prev().text();//单价var zong = i * price;//总价$(this).parent().next().text(zong);//现在商品总价}getTotal();});//计算所有商品的总价//方法1function getTotal(){var sum = 0;var arr = $("tr:not(tr:first)").find("td:last");for(var i = 0;i<arr.length;i++){sum += Number(arr[i].innerHTML);}$("b").text(sum);}//方法2function getTotal(){var sum = 0;$("tr:not(tr:first)").find("td:last").each(function(){sum +=Number($(this).text());});$("b").text(sum);}</script>
</body>

前端进阶--jQuery相关推荐

  1. 前端进阶之路: 前端架构设计(2)-流程核心

    可能很多人和我一样, 首次听到"前端架构"这个词, 第一反应是: "前端还有架构这一说呢?" 在后端开发领域, 系统规划和可扩展性非常关键, 因此架构师备受重视 ...

  2. 自学前端开发,前端进阶阶段需要学习哪些知识?

    今天要跟大家分享的文章是关于web前端进阶阶段需要学习哪些知识?已经入门web前端想要提升自己技术的小伙伴们来和小编一起看一看本篇文章吧,希望本篇文章能够对大家有所帮助. 1.完善我们的基础知识 (1 ...

  3. 大前端进阶!NodeJS、Npm、Es6、Babel、Webpack、模块化开发

    文章目录 大前端进阶 一.Node.js 1.1.Nodejs介绍和安装 1.2 .Nodejs入门 1.2.1.快速入门-Hello World 1.2.2.Node - 实现请求响应 1.2.3. ...

  4. 【Java全栈】Java全栈学习路线及项目全资料总结【JavaSE+Web基础+大前端进阶+SSM+微服务+Linux+JavaEE】

    目录 jdk api 1.8中文版 jdk api 1.8_google.CHM 零:Java 全栈知识体系 第一阶段:JavaSE 一,程序应用(★★) 二,面向对象程序设计基础(★★★) 面向对象 ...

  5. 2021年高级前端进阶之路

    YYDS 2021年高级前端进阶之路1.两边固定,中间自适应布局(1.用flex;2.用display:left;3.用相对定位和绝对定位结合)2.js判断字符串中出现次数最多的字符(1.用for循环 ...

  6. jquery 在div追加文本_前端技术--JQuery

    JQuery 一.引言 1.JQuery是一个基于javascript语言的框架 --- 是对js代码的合理封装 2.js缺点,jquery优点 ​1)js代码比较复杂 var tag = docum ...

  7. jquery input值改变事件_前端技术--JQuery

    JQuery 一.引言 1.JQuery是一个基于javascript语言的框架 --- 是对js代码的合理封装 2.js缺点,jquery优点 ​1)js代码比较复杂 var tag = docum ...

  8. 前端:jQuery笔记

    前端:jQuery笔记 此系列文章乃是学习jQuery的学习笔记. Asp.net MVC Comet推送 摘要: 一.简介 在Asp.net MVC实现的Comet推送的原理很简单. 服务器端:接收 ...

  9. 前端进阶必备技能:Vue中如何定制动画效果

    作为前端程序员,前端火起来的短短几年里技术更新迭代特别快,不仅是新的框架繁多,Vue,React,Angular轮番上场,各种工具,插件,库也是琳琅满目,就连基础的JavaScript语法的更新也是年 ...

最新文章

  1. mysql的binlog太多太大占用了空间的解决办法
  2. 基于变分自动编码器(Variational Autoencoders)疾病预测系统实战:(Keras实现并可视化训练和验证误差、最后给出topK准确率和召回率)
  3. 清除string内容_python爬取哔哩哔哩网页弹幕内容,并将爬取的内容以五角星的形式显示出来...
  4. 【dfs】【bfs】【链表】 求连通分量 (ssl 1759)
  5. Android API Guides---Bluetooth
  6. Nginx rewrite规则整理
  7. 串口收数数码管显示(串口带协议带校验)
  8. 各种程序员的工作内容
  9. IMRAM: Iterative Matching with Recurrent Attention Memory for Cross-Modal Image-Text Retrieval
  10. “This probably means that you are not using fork to start your child processes and you hav报错
  11. Qt获取大华摄像头监控画面(RTSP流方式)
  12. 计算机之父阿兰·图灵传奇的一生
  13. Pixhawk系统架构介绍
  14. 服务器信号满格但网速很慢,4G信号满格网速却很慢?一招搞定!
  15. 树莓派怎么作为无线服务器,教大家用树莓派做一个无线路由器
  16. 求某门课号的成绩高于某个同学(例如李勇)任意一门成绩的学生学号和成绩
  17. SqlSugar学习总结1(基础操作)
  18. 一个讨论 TOPVIEW 财富数据的论坛!
  19. Opencv如何打开使用海康工业相机
  20. Android Studio调试之使用USB连接手机调试(详细版)

热门文章

  1. 推荐几首最近在听的歌曲
  2. 【软件测试】按照开发阶段划分:单元测试、集成测试、系统测试
  3. 如何带好一个销售的团队——我的销数之路
  4. 微信小程序上传图片到腾讯云服务器,微信小程序 (发帖功能), 上传本地图片到腾讯云怎么实现?...
  5. 喜报 | 国家发明专利证书! 再添2项!
  6. 《程序分析:开胃菜》概览
  7. 快被垃圾分类逼疯的上海人民,有望被区块链解救吗?
  8. System Verilog中的automatic
  9. Altium Designer使用简介
  10. 滴滴抢单功能实现_滴滴打车系统模式开发 类似滴滴快车抢单模式开发