文章目录
初始jQuery
jQuery能做什么
导入jQuery库
jQuery程序调试
jQuery选择器
基本选择器
属性选择器
内容选择器
层次选择器
表单选择器
可视性选择器
筛选选择器
选择器示例
操作jQuery对象和DOM元素
链式操作
DOM筛选方法
DOM节点遍历方法
jQuery对象遍历方法
`.each()`
`.map()`
注意:
不要遗漏这个标签:
jQuery中的事件
jQuery初始化代码
使用jQuery手工触发事件
初始jQuery
jQuery能做什么
通过强大的选择器功能,准确获取需要查询或操作的文档元素
修改页面外观,即使在页面呈现后,仍然能够改变文档的样式属性
修改文档内容,可以改变文本,插入或翻转图像,列表重新排序,甚至对HTML文档的整个结构都能重写或扩充
获取各类页面事件,及时响应用户的交互操作
通过内置方法,能够为页面添加淡入,擦除等各类动态效果
通过Ajax技术,无需刷新页面即可从服务器获取信息
简化常见的JavaScript任务
导入jQuery库
< ! DOCTYPE html>
< html>
< meta charset= "utf-8" / >
< head>
< script src= "jquery-3.5.1" > < / script>
< style>
. hightlight{
background- color: #CCC;
font- style: italic;
font- weight: bold;
margin: 5 px;
}
< / style>
< script>
$( document) . ready ( function ( ) {
$( 'div' ) . addClass ( 'hightlight' ) ;
} )
< / script>
< / head>
< body>
< h1> 在线课程:jQuery基础< / h1>
< div> 讲师:朱枫< / div>
< div> 学校:just< / div>
< div> 部门:软件工程< / div>
< / body>
< / html>
在jQuery代码中使用$(document).ready()
时,位于其中的所有代码都会在DOM
加载后立即执行、
jQuery程序调试
使用浏览器的开发者工具调试程序(F12)
使用console.log方法输出表达式或变量的值
< ! DOCTYPE html>
< html>
< meta charset= "utf-8" / >
< head>
< script src= "jquery-3.5.1" > < / script>
< style>
. hightlight{
background- color: #CCC;
font- style: italic;
font- weight: bold;
margin: 5 px;
}
< / style>
< script>
$( document) . ready ( function ( ) {
$( 'div' ) . addClass ( 'hightlight' ) ;
console. log ( "Helloworld" ) ;
} )
< / script>
< / head>
< body>
< h1> 在线课程:jQuery基础< / h1>
< div> 讲师:朱枫< / div>
< div> 学校:just< / div>
< div> 部门:软件工程< / div>
< / body>
< / html>
< ! DOCTYPE html>
< html>
< meta charset= "utf-8" / >
< head>
< script src= "jquery-3.5.1" > < / script>
< / style>
< script>
$( document) . ready ( function ( ) {
console. log ( "我是小彪彪" ) ;
} )
< / script>
< / head>
< body>
< / body>
< / html>
断点调试: 在sources
中,鼠标左击行号即可,然后可按下方进行单步调试 也可以进行watch添加进行变量查看
jQuery选择器
基本选择器
加载jQuery库后,就可使用$(selector)
选择元素
选择器示例
描述
$("*")
选择所有HTML元素
$(".test")
选择class属性为test的所有HTML元素
$("#test")
选择id属性为test的HTML元素
$("div")
选择所有div元素
$("div,span,p")
选择所有的
$("ul.list")
选择class属性为list的所有
元素
属性选择器
根据属性值选择HTML元素
内容选择器
根据内容选择HTML
选择器示例
描述
$("div:contains('open')")
选择包含文本 open的所有元素
$("div:has(span)")
选择包含
元素的所有元素
$("div:empty")
选择没有内容的所有 元素
$("div:parent")
选择包含内容的所有元素
层次选择器
根据DOM层次结构选择HTML元素
表单选择器
根据状态选择表单元素
可视性选择器
根据可见状态选择元素
选择器示例
描述
$("div:visible")
选择可见的 元素
$("div:hidden")
选择隐藏的 元素
筛选选择器
选择器示例
描述
$("tr:even")
选择索引为偶数的元素
$("tr:odd")
选择索引为奇数的元素
$("div:first")
选择第一个元素
$("div:last")
选择最后一个元素
$(":header")
选择标题元素
$("div:eq(5)")
选择第六个元素,索引从0开始
$("li:gt(1)")
选择除前两个
元素外的其他
元素
$("li:lt(2)")
选择前两个
元素
$(":animated")
选择当前应用了动画效果的所有元素
注意:
li: lt ( 2 )
这里并不是大写的i,而是小写的L,如果写成大写的i无效
选择器示例
创建页面
< ! DOCTYPE html>
< html>
< meta charset= "utf-8" / >
< head>
< style>
span{
padding: 2 px;
border: 3 px solid blue;
color: white;
background- color: blue;
cursor: pointer;
}
. label{
font- size: 24 px;
margin: 10 px;
}
< / style>
< / head>
< body>
< span onclick= "setEven()" > Even< / span>
< span onclick= "setOdd()" > Odd< / span>
< span onclick= "setFirst3()" > First3< / span>
< p class= "label" > 星球< / p>
< ul>
< li> 水星< / li>
< li> 金星< / li>
< li> 地球< / li>
< li> 火星< / li>
< li> 木星< / li>
< li> 土星< / li>
< li> 天王星< / li>
< li> 海王星< / li>
< li> 冥王星< / li>
< / ul>
< / body>
< / html>
应用jQuery
< ! DOCTYPE html>
< html>
< meta charset= "utf-8" / >
< head>
< style>
span{
padding: 2 px;
border: 3 px solid blue;
color: white;
background- color: blue;
cursor: pointer;
}
. label{
font- size: 24 px;
margin: 10 px;
}
< / style>
< / head>
< body>
< script src= "jquery-3.5.1" > < / script>
< span onclick= "setEven()" > Even< / span>
< span onclick= "setOdd()" > Odd< / span>
< span onclick= "setFirst3()" > First 3 < / span>
< p class= "label" > 星球< / p>
< ul>
< li> 水星< / li>
< li> 金星< / li>
< li> 地球< / li>
< li> 火星< / li>
< li> 木星< / li>
< li> 土星< / li>
< li> 天王星< / li>
< li> 海王星< / li>
< li> 冥王星< / li>
< / ul>
< script>
function setEven ( ) {
$( "li, span" ) . css ( "font-weight" , "" ) ;
var $evenItems= $( "li:even" ) ;
$evenItems. css ( "font-weight" , "bold" ) ;
$( "span:contains('Even')" ) . css ( "font-weight" , "bold" ) ;
$( ".label" ) . html ( "Even Clicked" ) ;
}
function setOdd ( ) {
$( "li,span" ) . css ( "font-weight" , "" ) ;
var $oddItems= $( "li:odd" ) ;
$oddItems. css ( "font-weight" , "bold" ) ;
$( "span:contains('Odd')" ) . css ( "font-weight" , "bold" ) ;
$( ".label" ) . html ( "Odd Clicked" ) ;
}
function setFirst3 ( ) {
$( "li,span" ) . css ( "font-weight" , "" ) ;
var $first3= $( "li:lt(3)" ) ;
$first3. css ( "font-weight" , "bold" ) ;
$( "span:contains('First 3')" ) . css ( "font-weight" , "bold" ) ;
$( ".label" ) . html ( "First 3 Clicked" ) ;
}
< / script>
< / body>
< / html>
注意1
使用jQuery的时候,一定记得加入这行代码
< script src= "jquery-3.5.1" > < / script>
注意2
var $first3= $( "li:lt(3)" ) ;
lt
这里并不是大写的i,而是小写的L,如果写成大写的i无效
设置列表项水平排列
< ! DOCTYPE html>
< html>
< meta charset= "utf-8" / >
< head>
< style>
span{
padding: 2 px;
border: 3 px solid blue;
color: white;
background- color: blue;
cursor: pointer;
}
. label{
font- size: 24 px;
margin: 10 px;
}
. horizontal{
float : left;
list- style- type: none;
margin: 10 px;
}
< / style>
< / head>
< body>
< script src= "jquery-3.5.1" > < / script>
< span onclick= "setEven()" > Even< / span>
< span onclick= "setOdd()" > Odd< / span>
< span onclick= "setFirst3()" > First 3 < / span>
< span onclick= "setHorizon()" > Horizontal< / span>
< p class= "label" > 星球< / p>
< ul>
< li> 水星< / li>
< li> 金星< / li>
< li> 地球< / li>
< li> 火星< / li>
< li> 木星< / li>
< li> 土星< / li>
< li> 天王星< / li>
< li> 海王星< / li>
< li> 冥王星< / li>
< / ul>
< script>
function setEven ( ) {
$( "li, span" ) . css ( "font-weight" , "" ) ;
var $evenItems= $( "li:even" ) ;
$evenItems. css ( "font-weight" , "bold" ) ;
$( "span:contains('Even')" ) . css ( "font-weight" , "bold" ) ;
$( ".label" ) . html ( "Even Clicked" ) ;
}
function setOdd ( ) {
$( "li,span" ) . css ( "font-weight" , "" ) ;
var $oddItems= $( "li:odd" ) ;
$oddItems. css ( "font-weight" , "bold" ) ;
$( "span:contains('Odd')" ) . css ( "font-weight" , "bold" ) ;
$( ".label" ) . html ( "Odd Clicked" ) ;
}
function setFirst3 ( ) {
$( "li,span" ) . css ( "font-weight" , "" ) ;
var $first3= $( "li:lt(3)" ) ;
$first3. css ( "font-weight" , "bold" ) ;
$( "span:contains('First 3')" ) . css ( "font-weight" , "bold" ) ;
$( ".label" ) . html ( "First 3 Clicked" ) ;
}
function setHorizon ( ) {
$( "li" ) . addClass ( 'horizontal' ) ;
$( '.label' ) . html ( "Horizontal" )
}
< / script>
< / body>
< / html>
操作jQuery对象和DOM元素
链式操作
可以在jQuery语句中串接多项jQuery操作,其中每项操作的目标都是前一项操作返回的结果。
$( document) . ready ( function ( ) {
var $content= $( "div#content" ) ;
var $firstP= $content. children ( "p:first" ) ;
$firstP. css ( "font-weight" , "bold" ) ;
var $spans= $firstP. children ( "span" ) ;
$span. css ( "color" , "red" ) ;
} )
或者
$( document) . ready ( function ( ) {
$( "document" ) . children ( "p:first" ) . css ( "font-weight" , "bold" ) . children ( "span" ) . css ( "color" , "red" ) ;
}
} ) ;
DOM筛选方法
方法示例
描述
$("div").eq(1)
选择指定索引处的元素,这里返回第二个元素
$("option").filter(function(index){ return (this.value>5);})
剔除不与筛选器匹配的元素,这里对当前集合中的每个元素执行指定的函数,仅返回value>5
的元素,this指定当前迭代的DOM对象
$("li").first()
获得第一个
元素
$("li").last()
获得最后一个
元素
$("div").has("p")
获得包含子元素
的元素
$(".menu").not("span")
获得class属性为menu且不是
的所有元素.not(selector or element or function(index) or index or object)
$("tr").slice(2,5)
获得索引为2,3,4的元素
DOM节点遍历方法
方法示例
描述
$("div").children("p")
选择父元素为
$("p.menu").closet("div")
选择离属性class为menu 的
元素最近的祖先
$("div").contents()
选择元素的所有子元素
$("table").find("span")
选择包含在元素中的所有
元素
$("p#title").next("p")
查找id为title的
元素,并选择下一个同辈的
元素
$("p:first").nextAll()
查找第一个
元素,并选择它后面的所有同辈元素
$("p:first").nextUntil("ul")
查找第一个
元素,并选择它后面的所有同辈元素,直到遇到
元素
$("div#menu").parent()
查找id为menu的div元素,再选择其父元素
$("p#footer").prev("p")
查找id为footer的p元素,再选择它的前一个同辈
元素
$(".menu").siblings("span")
查找class为menu的元素的同辈元素
jQuery对象遍历方法
.each()
.each()
方法用来迭代当前jQuery对象元素集合,对每个元素执行指定的函数
$( "p" ) . each ( function ( idx) {
$( this) . html ( "this is paragraph" + idx) ;
} )
迭代所有段落元素,并设置其内容,传入的参数idx为索引号,0表示第一个p元素,$(this)将this转换成了jQuery对象,以便调用html()方法。
$( "span" ) . each ( function ( i) {
$( this) . css ( 'width' , '300px' ) ;
} )
如上:将所有
元素的width属性都设置为300像素
.map()
.map()
方法同样迭代jQuery对象包含的每个元素,和.each()
方法的区别在于,.each()
返回它操作的jQuery对象,而.map()
返回一个新的jQuery对象,且包含每次迭代返回的值 。
var liValues= $( "li" ) . map ( function ( idx) {
return $( this) . html ( ) ;
} ) . get ( ) . join ( "," ) ;
每次迭代中,函数都返回
元素的HTML内容,get()
方法则返回jQuery
对象的JavaScript数组,然后对数组调用join()
方法,生成一个用逗号分隔的字符串
< ! DOCTYPE html>
< html>
< meta charset= "utf-8" / >
< head>
< style>
span{
display: inline - block;
color: white;
text- align: center;
}
< / style>
< / head>
< body>
< script src= "jquery-3.5.1" > < / script>
< input type= "button" value= "each()方法" / >
< input type= "button" value= "map()方法" / >
< p> red 15 < / p>
< p> blue 30 < / p>
< p> gray 20 < / p>
< p> black 40 < / p>
< p> yellow 15 < / p>
< p> green 35 < / p>
< div> < / div>
< script>
$( document) . ready ( function ( ) {
$( "input:eq(0)" ) . click ( function ( ) {
$( "p" ) . each ( function ( ) {
var parts= $( this) . html ( ) . split ( " " ) ;
$( this) . css ( {
"font-size" : parts[ 1 ] + "px" , "color" : parts[ 0 ] } ) ;
} ) ;
} ) ;
$( "input:eq(1)" ) . click ( function ( ) {
var items= $( "p" ) . map ( function ( ) {
var parts= $( this) . html ( ) . split ( " " ) ;
return {
color: parts[ 0 ] , size: parts[ 1 ] } ;
} ) . get ( ) ;
for ( var idx in items) {
var item= items[ idx] ;
var span= $( "" + item. color + " " ) ;
var size= item. size * 5 ;
console. log ( span) ;
span. css ( {
"background-color" : item. color, "font-size" : item. size+ "px" ,
"width" : size, "height" : size} ) ;
$( "div" ) . append ( span) ;
}
} ) ;
} ) ;
< / script>
< / body>
< / html>
注意:
下面这个是实现了第一个input:
$( "input:eq(0)" ) . click ( function ( ) {
$( "p" ) . each ( function ( ) {
var parts= $( this) . html ( ) . split ( " " ) ;
$( this) . css ( {
"font-size" : parts[ 1 ] + "px" , "color" : parts[ 0 ] } ) ;
} ) ;
} ) ;
下面这个是实现了第二个input:
$( "input:eq(1)" ) . click ( function ( ) {
var items= $( "p" ) . map ( function ( ) {
var parts= $( this) . html ( ) . split ( " " ) ;
return {
color: parts[ 0 ] , size: parts[ 1 ] } ;
} ) . get ( ) ;
for ( var idx in items) {
var item= items[ idx] ;
var span= $( "" + item. color + " " ) ;
var size= item. size * 5 ;
console. log ( span) ;
span. css ( {
"background-color" : item. color, "font-size" : item. size+ "px" ,
"width" : size, "height" : size} ) ;
$( "div" ) . append ( span) ;
}
} ) ;
不要遗漏这个标签:
< div> < / div>
否则下方这行代码无效:
$( "div" ) . append ( span) ;
也就不会显示出来喽
jQuery中的事件
jQuery初始化代码
可在两个不同的时间触发并初始化代码:DOM准备就绪和网页资源加载完毕。
DOM准备就绪
DOM准备就绪:表示网页中DOM对象都已创建好,网页已显示,但网页资源(如图像)可能还未下载完毕
$( document) . ready ( function ( ) {
} ) ;
网页资源加载完毕
网页资源加载完毕:如果执行初始化代码时需要使用资源信息,就需要这种方式
$( document) . load ( function ( ) {
} ) ;
.on()方法
on()方法将事件处理程序关联到jQuery对象,off()方法删除关联到jQuery对象上的事件处理程序
< ! DOCTYPE html>
< html>
< meta charset= "utf-8" / >
< head>
< style>
div{
background- color: #CCCCCC;
font- weight: bold;
display: inline - block;
margin: 3 px;
padding: 5 px;
}
< / style>
< / head>
< body>
< script src= "jquery-3.5.1" > < / script>
< div id= "div1" > Say Yes< / div>
< div id= "div2" > Say No< / div>
< h1 id= "heading" > < / h1>
< script>
function clickHandler ( e) {
$( "#" + e. data. objId) . html ( e. target. id+ " says " + e. data. answer+ " at X position: " + e. screenX) ;
}
$( document) . ready ( function ( ) {
$( "#div1" ) . on ( {
"click" : clickHandler} , {
"objId" : "heading" , "answer" : "yes" } ) ;
$( document) . on ( "click" , "#div2" , {
"objId" : "heading" , "answer" : "no" } , clickHandler) ;
} ) ;
< / script>
< / body>
< / html>
使用jQuery手工触发事件
与JS一样,jQuery对象也有很多时间类型对应的方法,可以直接调用,大多数元素都有click()方法,表单元素还有blur(),foucus()
等方法。例如:触发所有
元素的click事件 $("span").click()
;
jQuery还提供trigger()方法,用于在触发事件的同时指定事件对象的值
$( ".checkbox" ) . trigger ( "click" ) ;
$( "input.bigText" ) . trigger ( {
'type' : 'keypress' , 'charCode' : 13 } ) ;
< ! DOCTYPE html>
< html>
< meta charset= "utf-8" / >
< head>
< style>
span{
margin: 3 px; padding: 5 px;
background- color: #c0c0c0;
border: 3 px ridge;
display: inline - block;
cursor: pointer;
}
< / style>
< / head>
< body>
< script src= "jquery-3.5.1" > < / script>
< p> Price: < / p>
< input type= "text" / >
< span> & #x24; < / span>
< span> & #xa5; < / span>
< script>
function inputHandler ( e) {
var chr= String. fromCharCode ( e. charCode) ;
$( "p" ) . append ( chr) ;
}
function spanHandler ( e) {
var chrCode= e. target. innerHTML. charCodeAt ( 0 ) ;
$( "input" ) . trigger ( {
'type' : 'keypress' , 'charCode' : chrCode} ) ;
}
$( document) . ready ( function ( ) {
$( "input" ) . keypress ( function ( e) {
inputHandler ( e) } ) ;
$( "span" ) . click ( function ( e) {
spanHandler ( e) } ) ;
} ) ;
< / script>
< / body>
< / html>
你可能感兴趣的:(Web前端技术)
【Web前端技术 02】深入探索HTML5:标签全解析与案例演示!
wcyd
Web前端技术 前端 html5 html
深入探索HTML5:标签全解析与案例演示!大家好!在上一篇文章中,我们对HTML5有了一个基本的了解。今天,我们将更深入地探索HTML5,全面介绍各种标签及其应用。从基础标签到新增标签,从文档结构到格式标签,我们将一一解析,并提供丰富的案例演示。准备好了吗?让我们开始吧!️HTML5基础结构首先,让我们回顾一下HTML5的基本结构。HTML5文档的结构就像一座房子的蓝图,指导我们如何构建网页。下面
web前端技术分享:koa中间件是如何实现的?
程序员的小傲娇
web前端 编程语言 web
在前端开发过程中我们可能会使用到koa中间件,但很多同学却不知道它是如何实现的,下面小千就来给大家介绍一下这个koa中间件(洋葱模型)。一、问题分析asyncawait是promise的语法糖,await后面跟一个promise,所以上面的代码可以写成:改成这样更好理解一些,所以流程控制的核心在于next的实现。next要求调用队列中下一个middleware,当达到最后一个的时候resolve。
1.初识Tauri
余识-
前端框架 tauri
文章目录一、前言二、基本认识三、js与rust通信四、构建应用一、前言原文以及后续文章可点击查看:初识Tauri。Tauri是一款比较新的跨平台桌面框架,也是我目前最喜欢的一个框架,其官网为:Tauri它的作用其实和Electron很像:使用Web前端技术开发桌面软件。但不同之处在于,Electron是可以通过纯粹前端技术进行开发,也就是你只需要懂html、js、css,就可以使用它来开发软件了。
web前端项目-进击的玉兔【附源码】
温轻舟
web前端项目-源码自取 前端 html css javascript
进击的玉兔【进击的玉兔】是一款基于Web前端技术的游戏,其主题和背景与中国的传统文化和神话有关。在游戏中,玩家需要通过解决各种难题和挑战来收集月饼,最终达成游戏目标。运行效果:HTML源码:进击的玉兔0CSS源码:*{box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;-webkit-tap-
JavaScript原型和原型链是什么
JJCTO
JavaScript javascript 原型模式 开发语言
JavaScript原型和原型链是Web前端技术中的重要概念,了解它们可以帮助开发者更好地理解JavaScript对象的创建和继承机制。本文将深入探讨JavaScript原型和原型链,并提供相关的示例代码和解析。首先,让我们了解一下JavaScript中的原型。每个JavaScript对象都有一个原型(prototype)。原型可以理解为一个模板对象,包含了对象共享的属性和方法。当我们创建一个新对
2020年小白要知道的Web前端学习路线
web前端学习指南
今天小编要跟大家分享的文章是关于2020年小白要知道的Web前端学习路线。准备在2020年学习Web前端技术的小伙伴们来和小编一起看看本篇文章,希望能够对大家有所帮助!第一阶段:●HTML+CSS:HTML进阶、CSS进阶、div+css布局、HTML+css整站开发、●JavaScript基础:Js基础教程、js内置对象常用方法、常见DOM树操作大全、ECMAscript、DOM、BOM、定时器
Web前端实现导出Excel的方案
Devil枫
ecxel导出 前端 excel
相信大家都有遇到需要在web页面上要展示表格数据的情况,一般情况下甲方都会要求这些显示的数据可以导出成excel吧。今天分享一下关于前端如何导出Excel的方案实例吧。一:背景与目标随着Web技术的不断发展,越来越多的应用程序需要在前端实现导出Excel功能。这一功能不仅方便用户导出数据,还能提高工作效率。本文将介绍一种基于Web前端技术实现导出Excel的方案,并给出相应的实例。二:技术选型1.
软件架构体系
·H·976
B/S C/S 前端
C/S(Client/Server)架构:客户端/服务端exp:QQ、微信、爱奇艺B/S(Browser/Server)架构:浏览器/服务器exp:百度、淘宝、网页版的爱奇艺、基于web前端技术实现的一些手机App(百度地图、消消乐)web前端技术是基于浏览器实现客户端的一套综合技术,包括HTML、CSS、JS等UI客户端技术是基于UI模块实现客户端的一种UI模块+打包模块,包括pygame、py
Web前端技术课程设计——技术栈【SpringBoot+Vue+MySQL+MyBatis】的在线英语考试系统
Mr_BigG
Web前端技术课程设计 前端 vue.js mysql spring boot mybatis
一、技术简介本网站使用了前后端分离的开发技术,是基于SpringBoot+VUE的在线英语考试系统,支持选择题、填空题、判断题、多选题。系统包含三种角色(管理员、老师、考生),实现的功能包含在线考试、查看答题情况、管理试卷、管理题库、管理用户等。前端技术栈:VUE(构建用户界面的渐进式框架)VUEX(状态管理)Vue-router(动态路由)Js-cookie(保存信息)Axios(页面请求)后端
如何有效的学习Web前端开发?
强哥科技兴
一个好的Web前端工程师在知识体系上既要有广度,又要有深度,所以很多大公司即使出高薪也很难招聘到理想的前端开发工程师。那么如何系统的学习企业实用的web前端技术呢?当大家有了一些HTML的静态布局的基础,那么我们学完HTML、CSS这些最简单的东西就算是有了小小的入门,知道了Web前端到底是做什么的,那么我们入门之后应该学习哪些系统的前端知识体系呢?如果我们大家选择自学,那么我们就应该根据个人的学
如何有效的学习Web前端开发?
强哥科技兴
一个好的Web前端工程师在知识体系上既要有广度,又要有深度,所以很多大公司即使出高薪也很难招聘到理想的前端开发工程师。那么如何系统的学习企业实用的web前端技术呢?当大家有了一些HTML的静态布局的基础,那么我们学完HTML、CSS这些最简单的东西就算是有了小小的入门,知道了Web前端到底是做什么的,那么我们入门之后应该学习哪些系统的前端知识体系呢?如果我们大家选择自学,那么我们就应该根据个人的学
web前端项目-中国象棋【附源码】
温轻舟
web前端项目-源码自取 前端 html css javascript
中国象棋【中国象棋】是一款历史悠久、深受人们喜爱的策略类游戏。在Web前端技术中,我们可以使用HTML、CSS和JavaScript等语言来制作一款中国象棋游戏。玩家使用棋子(帅/相/士/炮/马/车/炮/卒)在棋盘上相互对弈,将对手的“帅”棋子吃掉即为胜利。运行效果:HTML源码:中国象棋对不起,您的浏览器不支持HTML5,请升级浏览器至IE9、firefox或者谷歌浏览器!适用浏览器:360、F
基于VUE框架、前端UI样式库Bootstrap4、在线WebApi资源调用的Web前端技术课程设计《天气易搜》
好教员好
vue json echarts visual studio javascript
1.设计内容简介1.1技术知识点html标签:正文部分,网页头部,网页主体,样式,脚本语言,有序列表,容器,标签,标签,标签,标签,标签,标签等。Css基础选择器:class类标签,id标签。Date函数:该函数返回组件实例的data对象。Methods:将被混入到组件实例中。可以直接通过vm实例访问这些方法或者者在指令表达式中使用。方法中的this自动绑定为组件实例。Mounted函数:在Vue
在上海乐字节学习的三十六天
阿丫o
如何用Web前端技术就能开发出桌面应用程序?Web前端技术开发桌面应用的方式CEF:用Chromium&Webkit来呈现web页面,是客户端里面嵌浏览器,浏览器里面跑网页。heX:基于CEF,内部整合了开源项目Chromium及node.js。nw:基于Chromium和node.js,利用web方式开发跨平台桌面应用的平台技术。electron:底层也是基于Chromium和node.js。等
【Top10】天津高性价比Web前端培训机构(Web前端需要掌握什么技能)
qq_38453958
web前端 天津web前端培训 天津web前端培训班 天津web前端培训机构 天津web前端培训学校 web前端培训
Web前端开发已经成为了一门备受瞩目的技能,对于一些初学者或者转行的人来说,也是非常友好的,当然越火也越会存在争议,大部分没有经验的人会选择参加培训来学习Web前端技术,也有不少人对于参加Web前端培训的必要性存在疑虑,今天我们就从下面几个方面来了解一下Web前端。Web前端就业前景互联网行业对于具备Web前端开发技能的人才需求持续增长。随着越来越多的企业和组织,意识到网站和应用程序对于业务的重要
天津最新web前端培训班 如何提升web技能?
qq_38453958
web前端 天津web前端培训 天津web前端培训班 天津web前端培训机构 天津web前端培训学校 web前端培训
随着互联网的迅猛发展,web前端成为了一个热门的职业方向。越来越多的人希望能够通过学习web前端技术来提升自己的就业竞争力。为了满足市场的需求,许多培训机构纷纷推出了web前端培训课程。什么是WEB前端web前端就是web给用户展示的东西,这里面可能包含了设计,特效,用户交互等等,现在对于从业人员通常叫法是:前端美工,前端开发,前端架构三个最基本级别。主要职责是利各种Web技术进行客户端产品的开发
管理系统设计开发与学习
en...小瓶子
JAVA spring
目录封面一.内容简介二.技术概述1.SpringBoot2.MVC模式3.数据库技术4.Web前端技术5.对接技术四.体系架构设计架构系统分层系统结构五.数据库的设计六.开发准备开发工具开发环境七.学习总结八.学习心得一.内容简介:基于SpringBoot和KAQ模型的大学生成长平台,旨在帮助大学生提高综合素质,培养能力、知识和品质。基于以下相关技术进行理论学习,为日后开发做好准备。1.系统架构设
现代前端技术解析-第5章 前端项目与技术实践(一)
DxCaesar
# 读书笔记-现代前端技术解析 javascript 前端 现代前端技术解析 读书笔记
《现代前端技术解析》第5章阅读笔记(一)笔记章节目录第1章Web前端技术基础第2章前端与协议第3章前端三层结构与应用第4章现代前端交互框架第5章前端项目与技术实践一(5.1前端开发规范)二(5.2前端组件规范&5.3自动化构建)三(5.3自动化构建)四(5.5前端用户数据分析&5.6前端搜索引擎优化基础&5.7前端协作)第6章前端跨栈技术第7章未来前端时代2020/02/195.1前端开发规范本节
探索Web前端技术的新趋势与发展
工业甲酰苯胺
前端 开发语言 低代码 docker
随着互联网的不断发展,Web前端技术作为构建现代Web应用的重要组成部分,也在不断演变和发展。本文将从新趋势和发展方向两个角度,探讨Web前端技术的最新动态和未来展望。Web前端技术是构建现代网页和应用程序的重要组成部分。随着互联网的快速发展,人们对用户体验和交互性的要求越来越高,Web前端技术也日新月异。本文将介绍一些主要的Web前端技术以及它们在实际应用中的作用。一、新趋势响应式设计随着移动设
Tauri:构建高效安全的桌面应用程序 | 开源日报 No.124
开源服务指南
开源日报 开源
tauri-apps/tauriStars:64.6kLicense:Apache-2.0Tauri是一个开源项目,它可以通过Web前端构建更小、更快和更安全的桌面应用程序。该项目具有以下优势和特点:Tauri可以帮助用户构建桌面应用程序,并使用web前端技术进行界面设计。通过Tauri,用户可以创建运行时核心、工具和实用插件等组件来满足不同需求。运行时核心是Tauri的主要组成部分之一,它处理资
自学web前端到什么程度才能就业
前端大叔熟
首先,这个问题主要问:自学web前端技术,如果才能找到一份web前端的工作。按照现在的招聘标准来看,无论你去哪个公司面试,你只需要满足他们公司的需求就可以。找到一份web前端工作需要掌握的内容如下:首先是html,css这些简单的静态布局这是最基本的学习内容,不在多说。然后是掌握JavaScript的基本原理,因为做web前端开发,用到JavaScript非常多,但是现在很多公司是不用去写原生的J
天津web前端就业培训班,Web机构选择重点
qq_38453958
web前端 天津web前端培训 天津web前端培训班 天津web前端培训机构 天津web前端培训学校 web前端培训 web前端培训班 web前端培训机构
Web前端培训是目前非常热门的培训领域之一。很多领域都会涉及到web前端开发,比如传统互联网、房地产、金融、游戏、影视传媒等行业都需要web前端技术的支持。越来越多的企业和个人也需要建立自己的网站和移动应用程序,因此市场对web前端工程师的需求是非常大的,其薪资待遇也比较高。前端培训两个主要分类前端培训按技术栈主要可以分为两类:全栈开发和非全栈开发。全栈主要是多了node.js以及对应的框架exp
怎么有效的学习Web前端开发?
强哥科技兴
一个好的Web前端工程师在知识体系上既要有广度,又要有深度,所以很多大公司即使出高薪也很难招聘到理想的前端开发工程师。那么如何系统的学习企业实用的web前端技术呢?当大家有了一些HTML的静态布局的基础,那么我们学完HTML、CSS这些最简单的东西就算是有了小小的入门,知道了Web前端到底是做什么的,那么我们入门之后应该学习哪些系统的前端知识体系呢?如果我们大家选择自学,那么我们就应该根据个人的学
44.0/认识前端
光明是人的信仰
前端
44.1目录44.1.1网页44.1.1.1网页的组成44.1.1.2网页的分类44.1.2网站44.1.2.1网站的分类44.1.3主页44.2.Internet、IP地址和域名44.2.1Internet44.2.2IP44.2.3域名44.3.Web前端技术概述44.3.1html544.3.2CSS344.3.3Javascript44.4.Web前端开发工具44.4.1编辑器——(HBu
探索Web前端技术的变革与未来发展
液态不合群
前端 web3
Web前端技术作为构建现代互联网应用的重要一环,自诞生以来已经经历了多轮的发展和变革。本文将回顾过去的进展,介绍当前的前端技术栈,并展望未来前端领域的发展趋势,包括新兴技术和重要概念。引言在信息时代的快速发展的背景下,Web前端技术经历了不断的迭代和进化,引入了大量的新技术和框架,以满足用户对于交互性和体验的不断提升的需求。如今,Web前端技术的应用范围已经扩展到移动应用、桌面应用和嵌入式系统等领
大学荒废三年,大四自学8个月Java,找到了11K的工作
IT届老实人
通过这个故事我希望学弟们不要像我一样,等到临近毕业后才醒悟要学习知识学习技术的重要性,能趁早尽量要趁早,过去应该做的事情没有去做,后面都需要你加倍补回来。我是一个二本院校,专业是机械工程,当时以为考上了大学就可以高枕无忧放开了玩,可以说我整个大学期间都是打LOL过来的。到了大四才发现,同学们都陆续去找了实习,有的做机械工作,有的在大三的时候就自学了Java或者web前端技术,然后他们通过秋招找到了
《Web前端技术H5+CSS3》笔记--第四章 初识CSS3[云图智联]
云图智联IT教育
1.1CSS概述1.1.1什么是CSSHTML标签原本被设计为用于定义文档内容。通过使用h1、p、table这样的标签,HTML的初衷是表达“这是标题”、“这是段落”、“这是表格”之类的信息。同时文档布局由浏览器来完成,而不使用任何的格式化标签。由于两种主要的浏览器(Netscape和InternetExplorer)不断地将新的HTML标签和属性(比如字体标签和颜色属性)添加到HTML规范中,创
在上海乐字节学习的第三十七天(持续更新中)
阿丫o
如何用Web前端技术就能开发出桌面应用程序?Web前端技术开发桌面应用的方式CEF:用Chromium&Webkit来呈现web页面,是客户端里面嵌浏览器,浏览器里面跑网页。heX:基于CEF,内部整合了开源项目Chromium及node.js。nw:基于Chromium和node.js,利用web方式开发跨平台桌面应用的平台技术。electron:底层也是基于Chromium和node.js。等
前端已死?看看我的秋招上岸历程
幸运的小何
前端 面试 求职招聘
背景求职方向:web前端技术栈:vue2、springboot(学校开过课,简单的学习过)实习经历:两段,但都是实训类的,说白了就是类似培训,每次面试官问起时我也会坦诚交代,面试官也不会因为这个卡我学历:211本专业:软件工程基础:一开始有一些前端的基础,照着b站做过一个vue2的电商项目,但基本就到此为止了,一些深入的东西都不会,八股也没背,算法也没刷几道,刷过的也都忘记了,甚至之前做的项目也记
零基础如何系统学前端?
骨灰设计师小X
很多刚入门的小白都会幻想着,通过自学快速学习前端知识,来拿到大厂offer,这可能吗?小编很遗憾的告诉你,web前端技术是有一些“江湖气”的。图片源自网络,仅做配文,不做商业用途它的知识点过于琐碎,技术价值观的博弈也难分伯仲,另外全局的系统知识结构并未成体系,这些因素都会客观影响了“正统”前端技术的沉淀。另一方面,前端开发是个非常新的职业,对一些规范和最佳实践的研究都处于探索阶段,总有新的灵感和技
Spring中@Value注解,需要注意的地方
无量
spring bean @Value xml
Spring 3以后,支持@Value注解的方式获取properties文件中的配置值,简化了读取配置文件的复杂操作
1、在applicationContext.xml文件(或引用文件中)中配置properties文件
<bean id="appProperty"
class="org.springframework.beans.fac
mongoDB 分片
开窍的石头
mongodb
mongoDB的分片。要mongos查询数据时候 先查询configsvr看数据在那台shard上,configsvr上边放的是metar信息,指的是那条数据在那个片上。由此可以看出mongo在做分片的时候咱们至少要有一个configsvr,和两个以上的shard(片)信息。
第一步启动两台以上的mongo服务
&nb
OVER(PARTITION BY)函数用法
0624chenhong
oracle
这篇写得很好,引自
http://www.cnblogs.com/lanzi/archive/2010/10/26/1861338.html
OVER(PARTITION BY)函数用法
2010年10月26日
OVER(PARTITION BY)函数介绍
开窗函数 &nb
Android开发中,ADB server didn't ACK 解决方法
一炮送你回车库
Android开发
首先通知:凡是安装360、豌豆荚、腾讯管家的全部卸载,然后再尝试。
一直没搞明白这个问题咋出现的,但今天看到一个方法,搞定了!原来是豌豆荚占用了 5037 端口导致。
参见原文章:一个豌豆荚引发的血案——关于ADB server didn't ACK的问题
简单来讲,首先将Windows任务进程中的豌豆荚干掉,如果还是不行,再继续按下列步骤排查。
&nb
canvas中的像素绘制问题
换个号韩国红果果
JavaScript canvas
pixl的绘制,1.如果绘制点正处于相邻像素交叉线,绘制x像素的线宽,则从交叉线分别向前向后绘制x/2个像素,如果x/2是整数,则刚好填满x个像素,如果是小数,则先把整数格填满,再去绘制剩下的小数部分,绘制时,是将小数部分的颜色用来除以一个像素的宽度,颜色会变淡。所以要用整数坐标来画的话(即绘制点正处于相邻像素交叉线时),线宽必须是2的整数倍。否则会出现不饱满的像素。
2.如果绘制点为一个像素的
编码乱码问题
灵静志远
java jvm jsp 编码
1、JVM中单个字符占用的字节长度跟编码方式有关,而默认编码方式又跟平台是一一对应的或说平台决定了默认字符编码方式;2、对于单个字符:ISO-8859-1单字节编码,GBK双字节编码,UTF-8三字节编码;因此中文平台(中文平台默认字符集编码GBK)下一个中文字符占2个字节,而英文平台(英文平台默认字符集编码Cp1252(类似于ISO-8859-1))。
3、getBytes()、getByte
java 求几个月后的日期
darkranger
calendar getinstance
Date plandate = planDate.toDate();
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
Calendar cal = Calendar.getInstance();
cal.setTime(plandate);
// 取得三个月后时间
cal.add(Calendar.M
数据库设计的三大范式(通俗易懂)
aijuans
数据库复习
关系数据库中的关系必须满足一定的要求。满足不同程度要求的为不同范式。数据库的设计范式是数据库设计所需要满足的规范。只有理解数据库的设计范式,才能设计出高效率、优雅的数据库,否则可能会设计出错误的数据库.
目前,主要有六种范式:第一范式、第二范式、第三范式、BC范式、第四范式和第五范式。满足最低要求的叫第一范式,简称1NF。在第一范式基础上进一步满足一些要求的为第二范式,简称2NF。其余依此类推。
想学工作流怎么入手
atongyeye
jbpm
工作流在工作中变得越来越重要,很多朋友想学工作流却不知如何入手。 很多朋友习惯性的这看一点,那了解一点,既不系统,也容易半途而废。好比学武功,最好的办法是有一本武功秘籍。研究明白,则犹如打通任督二脉。
系统学习工作流,很重要的一本书《JBPM工作流开发指南》。
本人苦苦学习两个月,基本上可以解决大部分流程问题。整理一下学习思路,有兴趣的朋友可以参考下。
1 首先要
Context和SQLiteOpenHelper创建数据库
百合不是茶
android Context创建数据库
一直以为安卓数据库的创建就是使用SQLiteOpenHelper创建,但是最近在android的一本书上看到了Context也可以创建数据库,下面我们一起分析这两种方式创建数据库的方式和区别,重点在SQLiteOpenHelper
一:SQLiteOpenHelper创建数据库:
1,SQLi
浅谈group by和distinct
bijian1013
oracle 数据库 group by distinct
group by和distinct只了去重意义一样,但是group by应用范围更广泛些,如分组汇总或者从聚合函数里筛选数据等。
譬如:统计每id数并且只显示数大于3
select id ,count(id) from ta
vi opertion
征客丶
mac opration vi
进入 command mode (命令行模式)
按 esc 键
再按 shift + 冒号
注:以下命令中 带 $ 【在命令行模式下进行】,不带 $ 【在非命令行模式下进行】
一、文件操作
1.1、强制退出不保存
$ q!
1.2、保存
$ w
1.3、保存并退出
$ wq
1.4、刷新或重新加载已打开的文件
$ e
二、光标移动
2.1、跳到指定行
数字
【Spark十四】深入Spark RDD第三部分RDD基本API
bit1129
spark
对于K/V类型的RDD,如下操作是什么含义?
val rdd = sc.parallelize(List(("A",3),("C",6),("A",1),("B",5))
rdd.reduceByKey(_+_).collect
reduceByKey在这里的操作,是把
java类加载机制
BlueSkator
java 虚拟机
java类加载机制
1.java类加载器的树状结构
引导类加载器
^
|
扩展类加载器
^
|
系统类加载器
java使用代理模式来完成类加载,java的类加载器也有类似于继承的关系,引导类是最顶层的加载器,它是所有类的根加载器,它负责加载java核心库。当一个类加载器接到装载类到虚拟机的请求时,通常会代理给父类加载器,若已经是根加载器了,就自己完成加载。
虚拟机区分一个Cla
动态添加文本框
BreakingBad
文本框
<script> var num=1; function AddInput() { var str=""; str+="<input 
读《研磨设计模式》-代码笔记-单例模式
bylijinnan
java 设计模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
public class Singleton {
}
/*
* 懒汉模式。注意,getInstance如果在多线程环境中调用,需要加上synchronized,否则存在线程不安全问题
*/
class LazySingleton
iOS应用打包发布常见问题
chenhbc
ios iOS发布 iOS上传 iOS打包
这个月公司安排我一个人做iOS客户端开发,由于急着用,我先发布一个版本,由于第一次发布iOS应用,期间出了不少问题,记录于此。
1、使用Application Loader 发布时报错:Communication error.please use diagnostic mode to check connectivity.you need to have outbound acc
工作流复杂拓扑结构处理新思路
comsci
设计模式 工作 算法 企业应用 OO
我们走的设计路线和国外的产品不太一样,不一样在哪里呢? 国外的流程的设计思路是通过事先定义一整套规则(类似XPDL)来约束和控制流程图的复杂度(我对国外的产品了解不够多,仅仅是在有限的了解程度上面提出这样的看法),从而避免在流程引擎中处理这些复杂的图的问题,而我们却没有通过事先定义这样的复杂的规则来约束和降低用户自定义流程图的灵活性,这样一来,在引擎和流程流转控制这一个层面就会遇到很
oracle 11g新特性Flashback data archive
daizj
oracle
1. 什么是flashback data archive
Flashback data archive是oracle 11g中引入的一个新特性。Flashback archive是一个新的数据库对象,用于存储一个或多表的历史数据。Flashback archive是一个逻辑对象,概念上类似于表空间。实际上flashback archive可以看作是存储一个或多个表的所有事务变化的逻辑空间。
多叉树:2-3-4树
dieslrae
树
平衡树多叉树,每个节点最多有4个子节点和3个数据项,2,3,4的含义是指一个节点可能含有的子节点的个数,效率比红黑树稍差.一般不允许出现重复关键字值.2-3-4树有以下特征:
1、有一个数据项的节点总是有2个子节点(称为2-节点)
2、有两个数据项的节点总是有3个子节点(称为3-节
C语言学习七动态分配 malloc的使用
dcj3sjt126com
c language malloc
/*
2013年3月15日15:16:24
malloc 就memory(内存) allocate(分配)的缩写
本程序没有实际含义,只是理解使用
*/
# include <stdio.h>
# include <malloc.h>
int main(void)
{
int i = 5; //分配了4个字节 静态分配
int * p
Objective-C编码规范[译]
dcj3sjt126com
代码规范
原文链接 : The official raywenderlich.com Objective-C style guide
原文作者 : raywenderlich.com Team
译文出自 : raywenderlich.com Objective-C编码规范
译者 : Sam Lau
0.性能优化-目录
frank1234
性能优化
从今天开始笔者陆续发表一些性能测试相关的文章,主要是对自己前段时间学习的总结,由于水平有限,性能测试领域很深,本人理解的也比较浅,欢迎各位大咖批评指正。
主要内容包括:
一、性能测试指标
吞吐量、TPS、响应时间、负载、可扩展性、PV、思考时间
http://frank1234.iteye.com/blog/2180305
二、性能测试策略
生产环境相同 基准测试 预热等
htt
Java父类取得子类传递的泛型参数Class类型
happyqing
java 泛型 父类 子类 Class
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
import org.junit.Test;
abstract class BaseDao<T> {
public void getType() {
//Class<E> clazz =
跟我学SpringMVC目录汇总贴、PDF下载、源码下载
jinnianshilongnian
springMVC
----广告--------------------------------------------------------------
网站核心商详页开发
掌握Java技术,掌握并发/异步工具使用,熟悉spring、ibatis框架;
掌握数据库技术,表设计和索引优化,分库分表/读写分离;
了解缓存技术,熟练使用如Redis/Memcached等主流技术;
了解Ngin
the HTTP rewrite module requires the PCRE library
流浪鱼
rewrite
./configure: error: the HTTP rewrite module requires the PCRE library.
模块依赖性Nginx需要依赖下面3个包
1. gzip 模块需要 zlib 库 ( 下载: http://www.zlib.net/ )
2. rewrite 模块需要 pcre 库 ( 下载: http://www.pcre.org/ )
3. s
第12章 Ajax(中)
onestopweb
Ajax
index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/
Optimize query with Query Stripping in Web Intelligence
blueoxygen
BO
http://wiki.sdn.sap.com/wiki/display/BOBJ/Optimize+query+with+Query+Stripping+in+Web+Intelligence
and a very straightfoward video
http://www.sdn.sap.com/irj/scn/events?rid=/library/uuid/40ec3a0c-936
Java开发者写SQL时常犯的10个错误
tomcat_oracle
java sql
1、不用PreparedStatements 有意思的是,在JDBC出现了许多年后的今天,这个错误依然出现在博客、论坛和邮件列表中,即便要记住和理解它是一件很简单的事。开发者不使用PreparedStatements的原因可能有如下几个: 他们对PreparedStatements不了解 他们认为使用PreparedStatements太慢了 他们认为写Prepar
世纪互联与结盟有感
阿尔萨斯
10月10日,世纪互联与(Foxcon)签约成立合资公司,有感。
全球电子制造业巨头(全球500强企业)与世纪互联共同看好IDC、云计算等业务在中国的增长空间,双方迅速果断出手,在资本层面上达成合作,此举体现了全球电子制造业巨头对世纪互联IDC业务的欣赏与信任,另一方面反映出世纪互联目前良好的运营状况与广阔的发展前景。
众所周知,精于电子产品制造(世界第一),对于世纪互联而言,能够与结盟