dom事件操作

当事件发生时,可以执行js

例子:

当用户点击时,会改变<h1>的内容:

  1. <h1 onClick="this.innerHTML='文本更换'">点击文本!</h1>  

HTML事件例如:

  1. onclick=""//点击时
  2. onload=""//页面加载完成时
  3. onchage=""//改变时
  4. onmouseover=""//鼠标移入时
  5. onmouseout=""//鼠标移出时
  6. onmousedown=""//鼠标点下去时
  7. onmouseup=""//鼠标松开时

例子:
1.页面开始打开五个新窗口,点击关闭按钮,关闭这五个窗口

  1. <button onClick="closeAll()">关闭</button>

js代码:

  1. var arr = [];
  2. for (var i = 4; i >= 0; i--) {
  3. arr.push(window.open());//打开新页面6
  4. }
  5. function closeAll(){
  6. for (var i =4; i >= 0; i--) {
  7. arr[i].close();//关闭页面
  8. }
  9. }

2.登陆验证

  1. 账号:<input type="text"><br>
  2. 密码:<input type="password"><br>
  3. <button onclick="denglu()">登录</button>

js代码:

  1. function denglu(){
  2. //获取内容
  3. //找到元素
  4. var input = document.getElementsByTagName("input");//找到input元素,为数组
  5. var uid = input[0];
  6. var pwd = input[1];
  7. //获取元素内容
  8. var uidval = uid.value;
  9. var pwdval = pwd.value;
  10. if(uidval == "" || pwdval == ""){
  11. console.log("账号或密码不能为空!");
  12. return;
  13. }
  14. //验证内容
  15. if(uidval == "admin"){
  16. console.log("登录成功!");
  17. }else{
  18. console.log("账号不正确");
  19. }
  20. }

3.表格添加元素

  1. <button id = "add">添加一行</button>
  2. <table id="tab" border="1">
  3. <tr>
  4. <td>
  5. 123
  6. </td>
  7. </tr>
  8. </table>

js代码:

  1. var tab1=null;
  2.  
  3. //点击添加方法
  4. window.onload=function(){
  5. tab1= document.getElementById('tab');//获取表格
  6. var add1btn = document.getElementById('add1');//获取按钮
  7.   //点击添加事件
  8. add1btn.onclick = function (){
  9.  
  10. var trplus = document.createElement('tr');//添加标签,新建一行
  11. for (var i = 3; i >= 0; i--) {
  12. var tdplus = document.createElement('td');//新建一个单元格
  13. tdplus.innerHTML = 123;
  14. trplus.appendChild(tdplus);//将新建的td添加到tr中
  15. }
  16.  
  17. tab1.appendChild(trplus);//将新建的tr添加到table中
  18.  
  19. }
  20. }

  

结果:

aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJwAAABMCAIAAAAX5Ek1AAAEhklEQVR4nO2dzW7iVhSA7wPlObDBC3Y8C8Fk0h0v4D/MjwCpcZYhgTBRHoCNE2WYkFEWRW2xgAo6mmmrbtuFf7DNvQEq+7pz5nwb379zjzkftlESFPIPAg6S9QkgyYNSAYJSAYJSAUKXOpvNLi8vf/z2sSxrNptxrmnm0KVeXFz8DQXLsjjXNHPoUnu93l9Q6PV6nGuaOUypf0IBpXp0u90/oNDtdjnXNHPoUjudzlcodDodzjXNHKbUL1TuzwmRWq9+k8L5vb/2tSV5S5Pj/lxqvX55bUlv5I2BUj3a7fZnJnfvCHl3F+mHuwGfmoVC8xN7n6P5bxu2223ONc0cptTfD+SlUSg0Xg6ZeWkUQlcWI4jJ3RkhZ3dHhbigVI9Wq7Wh8f6MkLP3fotK3pxuNlMzvzs6NfNu7GYzNfN5c0pNQSVYf2zgZrNptVqca5o5dKnNZnPN4NnMk7z5vO1UR+v1qEqqI8pKd+Gzma+OgkNk6jjcsFGV/nbaPYP1er1eN5tNzjXNHLrURqPx234+GiKRb932rRw0Q9Oi8dFtyLfBITJ1DLcyoQRREkdpNBqca5o5dKmmaa72MJQJEY3JajWUiTxcrVYTQ3QHfCaG6PYnhigPg0N4aigzbuIR5OFqYoiEkOj+wXn4u9IxTZNzTTOHKXXJYlAhFV0XSWWw7Q+2c5GO2/6gi5VBcPBGRP0DMwU154AeFE5PBaV61Ov1BYObCqncLBaLxeJJE0jlZnFTIRVNEwRNqxBBewov9LpeyJMmeJGLJ00ILz0MetD2fBjU63XONc0culTDMBw6j6pweu04juNcnxJBfXSc61Nyev2oCoL66A+Fpx1vRTjUcZczUrCgB3mbszEMg3NNM4cuVdf1OZUHJZdTHtwGKffn8/m8Xyblvt/vl0lOeZjP+2XiTW9jHpRc6EHpbnMMQe69gxF0Xedc08yhS9U07VcatpLLKbbfuyr7fuydZaR8FV9gK7nyFW2fA4kE2dt3iL8pA03TONc0c5hSf4ECSvVQVfVnKKiqyrmmmUOXqijKDAqKonCuaeYwb78/QQFvvx62beu6rnz7aJpm2zbnmmYOXeoP3CmVSpxfOWCYUjmfx8nJCeeMgEGpANkj9SRlJEkKEnF6xd8B+6Wmmp5bou8KlAoQlAoQlAoQlAoQlAqQ46UurSKpjWOD41ro999Fa8mcjEWi1DQ4SmpgJ6ZmXAuJXFrF8IqlVQy3Y8EoNQ0OljquuTqWVnFHaow3loxr0QsZpabB0bdflPr/Jw2pcXNvTKDUNEhcqvvcDKtzR2ifoFBqOiQr1fskxZrGD0p8SEyqfz1S77tbYndglJoGyUj1jL79qKWFo9Q0SELq0iruvUJ98ErlQAJS9zxlQwrxmcqHpKTu4suMTMfdo9Q0wB/oAwSlAgSlAgSlAgSlAmSPVEmSkv6CRRw3EUpNEPwLfYCgVIDQpZZKpaS/YLEfzq8cMPgvTACCUgGCUgGCUgGCUgGCUgGCUgGCUgGCUgGCUgGCUgGCUgGCUgGCUgGCUgGCUgGCUgHyL+K/BXx7AThgAAAAAElFTkSuQmCC" alt="" />aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAALsAAABgCAIAAADKC5TRAAAFWUlEQVR4nO2bTVPiSBjH+wP5OXiRAzc+xvIOIdFxD1B+AUQKxzNX39CxPHHyopaTUac8zNbOQAFbsFuzL7XX3UMIhPAEbelkOl3/3yXpdD/5x+ZXoauw2X8A8MB+9AOAkAFjAB8wBvABYwAfMAbwQRhjmmatVjPCT61WM00z+DlVG8KYarX6rypUq9Xg51RtCGN0Xf9HFXRdD35O1YYwplKp/K0KlUol+DlVG9qYv1QBxgiHMEbTtD9VQdO04OdUbWhjvpNc7TCWOHy2Twl2ruyxz4eJ6VBxXO0kDp+/Px8mVuS6gDHCIYwpl8t/eHL5jrF3lwttZ3PG5/ebm+8/e9+Hm7fdsFwuBz+nakMYUyqVfn8lTwebmwdPr+l5Oth0vBM8ijy53GZs+5KrxKJUKgU/p2pDGzOh+LDN2PYH+4wk3nqcTB5b8eWrj624VTuZPLbi8dYjGUEyG89bOJlMYIxwCGOKxeLYg4dWnMVbD/PG1sV4fLHFti6IkdbAh1Z862J2WOjiwyq72KJdXX6C8Xg8HheLxeDnVG0IYwqFwm8v86kZY8a5dX5uzE4d3bHmJ+vEOJ8dFrp4ODcYUUQEL1IoFIKfU7WhjRm9QMdgLNY0R6OOwYzOaDQymzHrgo3ZjFltsxkzOrODs6tjeHy3LWB0RmYzxhhbvP/sOey70sAY4RDG5PP5oRdnOtP392NMP5u3z+Z9Cw3r/ON+TD+bHaZXYvsfPSPIzDO6yBlPks/ng59TtaGNGXhwqjP9dDAYDAb3jSjTTwenOtMbjWi00dBZtHHvHDhtTkvuG9Fp5eC+EXUOfR100fx5PIAxwiGMyeVyfZq7vWjlpN/v9/snFRbdu+v3TyqscnK3F43u3dmXnN396Qhnad8a7hHhBV00vbk3uVwu+DlVG8KYbDbbI7mtRyL1W+uEace9Xq93rDHt2G4fayxSv+31jjU27Z7X3NYjjsWJdRseZtkvXlwgm80GP6dqQxvzjeKmHonUb+zWkWZ/+DdLw5h25B5wU49oR9R9XslC0c1cP/umHsAY4RDGZDKZr6qQyWSCn1O1oY35VRVgjHAIY9Lp9C+qkE6ng59TtaF/u/6iCvjtWjiEMd1uV9O0n8JPuVzudrvBz6naEMb8DMJDKpWSwpiAHwK8mY2NjYATYUy4kcuYDZ9JJBLB/rEKIp0xvmbjZbY+MAbwAWMAHzAG8AFjAB8wBvAhvTHDdpLtXrsuXu86/lkq2R56droqYcz6yGzM7KN3fe7Xuw5Lhu2kc8SwnXSeu4phzPrIasz1rvVZD9vJJWNcrBhyvbv4CoIx6yOrMTYwRjYUMMatxYoOGLM+YTfGWqs4vbCuUEtiGCOCUBszXRp7dWPl6wdhNcZ+k5BfR3NcX0wwZn1CacxUl9XLG6ocxqxPCI0ZtpMvvlts8I4RTviMeWFl4/AD6xg/CKkxy9imLHS7xYIx6yO7MWKBMesDYwAfMAbwAWMAHzAG8CGXMYlEQvSmTzfB/rEKIpcxQH5gDOBDLmNE75p1M9tFi6B1gvwVZAkpVr4IkjZoGRiDID5gDIL4gDEI4gPGIIgPGIMgPqTYRYsgkUE+I8UuWgQJCgoCKXbRIkhAUFBIsYsWQQKD/EaKXbQIEhjkN1LsokWQwCC/kWIXLYIEBvmNFLtoESQwyG+k2EWLIIFBfiPFLloECQzyGyl20SJIYJDfCDFmGb5dtAgSGOQ3+CUSQXzAGATxAWMQxAeMQRAfMAZBfKwyJrBdtAh6c5BcxgD5gTGADymMSaVSGyA8/HhjAFgBjAF8wBjAB4wBfMAYwAeMAXzAGMAHjAF8wBjAx//grwssn4ifPgAAAABJRU5ErkJggg==" alt="" />

JS获取日期当前时间日期及其他操作:

  1. var myDate = new Date();
  2. myDate.getYear(); //获取当前年份(2位)
  3. myDate.getFullYear(); //获取完整的年份(4位,1970-????)
  4. myDate.getMonth(); //获取当前月份(0-11,0代表1月)
  5. myDate.getDate(); //获取当前日(1-31)
  6. myDate.getDay(); //获取当前星期X(0-6,0代表星期天)
  7. myDate.getTime(); //获取当前时间(从1970.1.1开始的毫秒数)
  8. myDate.getHours(); //获取当前小时数(0-23)
  9. myDate.getMinutes(); //获取当前分钟数(0-59)
  10. myDate.getSeconds(); //获取当前秒数(0-59)
  11. myDate.getMilliseconds(); //获取当前毫秒数(0-999)
  12. myDate.toLocaleDateString(); //获取当前日期
  13. var mytime=myDate.toLocaleTimeString(); //获取当前时间
  14. myDate.toLocaleString( ); //获取日期与时间

电子时钟:

  1. 时间:<input id="tt" type="text">//html中建立文本框显示时间

js代码:

  1. window.onload=function(){
  2.   setInterval(function(){
  3. dianziTime();
  4. },1000);
  5. }
  6. function dianziTime(){
  7. var t = new Date(),//新建一个时间
  8. y = t.getFullYear(),//获取年
  9. m = (+t.getMonth()+1) >= 10 ? +t.getMonth()+1 : "0" +(+t.getMonth()+1),
  10. //获取月份,月份下标是(0-11),与实际日期差1
  11. //三目运算,如果是1位数,前面加0
  12. d = t.getDate(),//获取日
  13. h = t.getHours(),//获取小时
  14. f = t.getMinutes(),//获取分钟
  15. s = t.getSeconds();//获取秒
  16. var str = y+"-"+m+"-"+d+" "+h+":"+f+":"+s;//显示设置
  17. document.getElementById('tt').value = str;//将时间放在id="tt"中
  18.  
  19. }

  

结果:
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAdkAAAAqCAIAAABwVLZWAAAGrklEQVR4nO2c3ZXDJhBG3SGdpA1qSAU6rkTPqUJlOA+S0PwDstdIPt99SdYrJEDDZRgn+3gBAAAYzWN0BwAAAMDFAABwAeBiAAAYD1wMAADjgYsBAGA8cDEAAIwHLgYAgPHcxsVPAJ7P0WEIwF9xJxeP7gIYDGJgZc6PNC19DR55/rP+gI/wlotVTCxT6guSdrAOQWcMLFN6dErrU/depnTiyc2OXabUJ9feqVimVLn/rfSuhzPn6/Xed/EypQdD9127eJnyfuWcHx5nZgEuBioGTMXMewg2+PL0gnzDxXxh5FkttI1QnXVZdvTozO2Ji4OVXm4SXaPH602J3UDeWw9TDWdZ5vICg4f9VWJpE7u49N/eBe19PN7du4NoAy4GMgZMm855X0MVXxZnn+EDebHuPVk5dBE1eGwnzz1Xry3axCflxF1clVblmnPnCOPe9o1s6VRU1F0JepceF0/xBtJ2annbxTR06I3K5y3bwxGwbl/KJepwE7es9s95w06743mVwDCjMIqnWoeuh3BxRcXfc3GrzWhf9tdVUecbr8ZbafXzwD4e8+FysGma2lzcMztdaBdP4Zm8UfyXdnElL66cWrZfyQhprWRt65B2hCy7Y371RK+dESeg7Ud6Czm0o9RS+kvC2HmhXv+Oz+2lYLcjD6msoHWFVAYuH0gm4XLFMwvuYuvdsVnaQ4tEI51MGZv68vVqczdULuYTaEQHWyx23Dl5sXfHcCasexxXR697mVLKOT1yjmqqKi+2NiQ24MvkxXJVOZ2+mIutHYXnbK6L2TBIuzddzOCCc493KefkdNQLTPJx0Pcadv/qcWd2Kmw250dKSSx2NXDR4CbZ8AGLgaqKSwSzmqWYIjLN4vKiYFaWlJ4vP/S4mL/fxnqxvxnXE4rqh/wxa90iz685h0Vvc7Xbcdru4u4ai1kv1n1yXdxSJvoKnXkxn+hPuLiV2MWeXud5z3j8vNjoja3O7s1bnBTChNppZ3ZJzu+ct+VDXo03cD1f94HEQPytHblG2Zbv08rFsrkIcBrGZ13M3EHbVUQQ5A1OQOluVKJvHwn5p2v5wHumi2ucyE/Kr3RerM6zP+dilXW+XaNoRbuYJgrydbSsjOD9y7EfLs6zU0e2bxLkXc3tag239WKtAXflzfmRpjmosF+SIwZqpeLjIjY2doXpYrHF6ft9wMXsKsfFJt4eHbTSKXjwBJ4wyH9jF6aUtm+QSr3YWPRHwzM1CrYRcLt4/hSZEz3F3L1GYdWLyecj82K+krpcTNaYE5y+i9l2E70q3j+xb1TqcD1fuZSA7XUxL57eIkkuMWBNkpaS7WJesviYi1tYry/vf3s7bspoZ5c6z41f3tEmDlkWK1Jkcl7Xr8fWqmXO1byY1jq4P+wlbNyH7BPLxFeQVy8+Pv/RvJhuV8NcrNZiXAJWlRW+YT/yTFP5tH4PUatR7D+RhcimSy5z3VLjitgZGM0Rul2s5+Dq7DFQLxUfH33LxZ01ii3k+DX11R91yaVEaCxiORfcduw8sRVpW+vFzJ62i2UIqrvoiDWP57KUZyX3P+TigzEu9lYiWWMyFhpc7I7MOwe4AzH61+TiWqZtJxzBuTBwMe/816PuJGsMmKfytkz5j1ysiYsBa+MUZ8UtmXEtZOjzfBnTQxJpwWbzGO8yZVGP5QUvZwClq5aLqybWl5Chuy52hnNPF7uLfOUT9eJKUBc2F3uJQJnfhvRQ1ChMo9phEmzkdDhmJSGubtjtxImrW9W+EkQ83kLFawyYM+XPqe9i+evvuViUu+gDqy9CVAtrec26Eo/sUAuZn/tsSknFWwot8bNdpl28iC8IzcnT6628HmmbThd7+8fFXBznxW5FJxrGey7Wc8d2xOBVqLft7jBkOMYV5WM333T6x4og7e1IoMWJbIOLdUhW5uBiPJ/PDhXXXExm4HDNd1xM7eEUPuuEBa19aHZm7cYvbR5HRb+L9a1bTtuklbd31fNi/qAoL6714y/p/9tATBtezdbnbG0S/w80eD6fbbWI4QQu1ullRK2KISn/nU9jETnoZI+Lg/7/52bbznjlU5xf1fEatx0Ev39c/ODfzIws+9acvl4vuBi8Xs9//2ksFY/mPnWfs9zl+16D6OW4meYXwN8vBrcBMQB+GLgY3AbEAPhh4GJwGxAD4Ie5k4sBGB2GAPwVt3ExAAD8MHAxAACMBy4GAIDxwMUAADAeuBgAAMYDFwMAwHjgYgAAGA9cDAAA44GLAQBgPHAxAACMBy4GAIDxwMUAADAeuBgAAMbzP6+JO1DsTY2iAAAAAElFTkSuQmCC" alt="" />

随机事件:
Math.random()方法返回大于等于 0 小于 1 的一个随机数。

随机点名:

  1. var arr = ["温钊","高志伟","边秀通","李智伟","丁昆","张镇潇","刘庆亮","郭浩","李青","任星旭"];//新建数组
  2. var i = parseInt(Math.random()*10);
  3. //Math.random()的返回值是在0-1之间的,因为有10个值,所以*10,并取整数,作为数组arr的下标
  4. console.log(i);
  5. console.log(arr[i]);

滚动随机抽:

  1. <body>
  2. <button id="start">开始</button>//建立开始按钮
  3. <button id="end">停止</button>//建立结束按钮
  4. <div id="dd" >
  5. </div>//设置一块区域,中间内容显示名字
  6. </body>

js代码:

  1. var setDom = null;//定时器
  2. var n = 0;//数组下标
  3. var divDom = null, //显示div
  4. startDom = null, //开始按钮
  5. endDom = null;//结束按钮
  6. window.onload = function(){
  7. initDom(); //初始化变量
  8. addEvent();//添加事件
  9.  
  10. }
  11. var arr = ["温钊","高志伟","边秀通","李智伟","丁昆","张镇潇","刘庆亮","郭浩","李青","任星旭"];//新建数组
  12.  
  13. function initDom(){
  14. divDom = document.getElementById('dd');//找到区域
  15. startDom = document.getElementById('start');//找到开始按钮
  16. endDom = document.getElementById('end');//找到结束按钮
  17. }
  18.  
  19. function addEvent(){
  20. //开始事件
  21. startDom.onclick = function(){
  22. //点击运行方法
  23. setDom = setInterval(function(){
  24. //建立一个定时器,每1毫秒显示一次
  25. divDom.innerHTML = arr[n];
  26. //将arr[0]中的内容赋值给div
  27. n++;
  28. if(n >= 10){
  29. n = 0;
  30. }
  31. //当n=10时,运行完一边,设置n=0,再重新循环
  32. },1);
  33. }
  34. //结束事件
  35. endDom.onclick = function(){
  36. clearInterval(setDom);//清除定时器
  37. }
  38. }

验证码获取并验证:

  1. 验证码:<input id="yzmVal" type="text">
  2. <span id="yzm">加载中...</span>
  3. <button id="yz" onClick="yanzDom()">验证</button>

js代码

  1. window.onload = function(){
  2. yzmFun();
  3. yanzDom();
  4. var yanzhengm =document.getElementById('yzm').innerHTML;
  5.  
  6. }
  7.  
  8. function yzmFun(n=4){
  9. //设置输出4个验证码
  10. var str = "0123456789";//建立字符串0-9
  11. var sjs = "";//设置输出内容
  12. for(var i =0;i<n;++i){
  13. sjs += str.substr(Math.random()*str.length,1);
  14. //建立随机数,提取字符串内容,给sjs,共四次
  15. }
  16. document.getElementById('yzm').innerHTML= sjs;//将内容给<span>
  17. }
  18.  
  19. function yanzDom(){
  20. if($('#yzmVal').val()==$('#yzm').html()){
  21. alert("验证成功");
  22. }else{
  23. alert("验证失败");
  24. }
  25. }

  

dom事件操作例题,电子时钟,验证码,随机事件的更多相关文章

  1. 前端JavaScript之DOM事件操作

    DOM:文档对象模型,操作网页上的元素的API.比如让盒子移动.变色.轮播图等. 1.DOM(Document Object Moduel):文档对象模型 定义了访问和操作HTML文档的标准法,把HT ...

  2. DOM事件操作

    DOM事件:对事件做出反应 当事件发生时,可以执行 JavaScript,比如:点击时 onClick="" 例:当用户点击时,会改变 <h1> 元素的内容: < ...

  3. JavaScript DOM–事件操作

    事件 注册事件 给元素添加事件,为注册事件或者绑定事件 注册事件两种方式 传统方式 监听事件方式 事件监听 addEventListener() 事件监听 (IE9以上) eventTarget.ad ...

  4. jQuery学习之旅 Item8 DOM事件操作

    1.jquery页面载入事件 1.传统加载事件 <body onload="函数名()"> 页面全部html和css代码加载完成之后再调用指定的onload函数 win ...

  5. 关于DOM事件操作

    事件的三要素: 事件源.事件.事件驱动程序. 事件源.: 引发后续事件的html标签   document.getElementById(“box”) document.getElementsByCl ...

  6. 10-JavaScript之DOM的事件操作

    JavaScript之DOM的事件操作 1.介绍 JavaScript基础分为三个部分: ECMAScript:JavaScript的语法标准.包括变量.表达式.运算符.函数.if语句.for语句等 ...

  7. 前端 ----关于DOM的事件操作

    关于DOM的事件操作   一.JavaScript的组成 JavaScript基础分为三个部分: ECMAScript:JavaScript的语法标准.包括变量.表达式.运算符.函数.if语句.for ...

  8. 10-关于DOM的事件操作

    一.JavaScript的组成 JavaScript基础分为三个部分: ECMAScript:JavaScript的语法标准.包括变量.表达式.运算符.函数.if语句.for语句等. DOM:文档对象 ...

  9. python 全栈开发,Day51(常用内置对象,函数,伪数组 arguments,关于DOM的事件操作,DOM介绍)

    昨日内容回顾 1.三种引入方式 1.行内js <div onclick = 'add(3,4)'></div> //声明一个函数 function add(a,b){ } 2. ...

随机推荐

  1. springboot jpa mongodb 多条件分页查询

    public Page<Recorded> getRecordeds(Integer page, Integer size, Recorded recorded) { if (page&l ...

  2. PAT天梯赛L2-007 家庭房产

    题目链接:点击打开链接 给定每个人的家庭成员和其自己名下的房产,请你统计出每个家庭的人口数.人均房产面积及房产套数. 输入格式: 输入第一行给出一个正整数N(<=1000),随后N行,每行按下列 ...

  3. C. Increasing by Modulo

    给定n个模m的数字 可以选择k个数字进行操作,操作时对该数字进行+1模m 求解最少多少次操作可以使得该数列变成单调不下降序列 实际上就是二分操作数目,其中操作数目肯定不会超过m 然后我们将左右边界变成 ...

  4. AT2166 Rotate 3x3

    传送门 这个题网上有两种做法,一种是树状数组的,还有一种是暴力模拟的,暴力模拟显然不够优美,所以我用的树状数组 显然可以从初状态推到目标状态,我们也可以考虑倒推回去 首先可以容易发现每列的数字是不变的 ...

  5. has been blocked by CORS policy: Request header field authorization is not allowed by Access-Control-Allow-Headers in preflight response.

    https://www.cnblogs.com/caimuqing/p/6733405.html // TODO 支持跨域访问 response.setHeader("Access-Cont ...

  6. [Leetcode]011. Container With Most Water

    public class Solution { public int maxArea(int[] height) { int left = 0, right = height.length - 1; ...

  7. echart与Accelerometer综合

    首先是x,y,z轴的加速度统计,利用四个数组记录,并长度为偶数时生成图表 var x=[]; var y=[]; var z=[]; var t=[]; document.addEventListen ...

  8. jvm 锁Lock

    自旋锁 线程想要获得一个对象的锁,如果没有得到,会继承占用CPU尝试获取锁, 线程不进入阻塞状态,仍然在Running 锁消除 public void lockTest() { String aa = ...

  9. Quartz 定时器,同时运用多个定时器

    效果:每天执行两个定时器,两个定时器不相关联.jar版本Quartz 2.2.3 Java工程结构图  jar 包下载: 链接: https://pan.baidu.com/s/1-7dh620k9P ...

  10. 配置ftp服务器

    计算机管理->用户->添加用户 iis网站右键->添加ftp站点(没有此选项确认已安装及开启了ftp服务)->进行相关设置即可