首页 > 代码库 > 【2017-04-01】JS字符串的操作、时间日期的操作、函数、事件、动画基础

【2017-04-01】JS字符串的操作、时间日期的操作、函数、事件、动画基础

一、字符串的操作

1、转大写:

s.toLowerCase();

2、转大写:

s.toUpperCase();

3、字符串的截取:

s.substr(3,4);      -从索引3开始截取,截取4位。索引从0开始。

4、将字符串按指定的字符拆开:

s.split(",");             引号内放指定的字符。返回的是一个数组。

5、字符串长度:

s.length;

6、字符串中一个字符的索引:

s.indexOf("world");      world在字符串中第一次出现的位置,返回的是索引,如果没有返回-1。

7、o在字符串中最后一次出现的位置:

s.lastIndexOf("o");

二、时间日期的操作

1、当前时间:

var d =new Date();

2、定义一个时间:

var d =new Date(1999,03,02);     1999年4月2日。

3、获取年份:d.getFullYear();     获取月份:d.getMonth();取出来的月份少1。    获取天:d.getDate();     获取星期几:d.getDay();

获取小时:d.getHours();       获取分钟:d.getMinutes();              获取秒:d.getSeconds();     设置年份:d.setFullYear();设置月份时注意加1。

三、数学函数的操作:

1、Math.ceil();       取上限

2、Math.floor();     取下限

3、Math.sqrt();      开平方

4、Math.round();     四舍五入

5、Math.random();     随机数,0-1之间。

 

四、事件

onclick           鼠标单机触发

ondblclick      鼠标双击触发

onmouseover     鼠标移入触发

onmouseout      鼠标移出触发

onmousemove     鼠标在上面移动触发

onchange         内容改变触发

onblur      失去焦点触发(焦点是指光标所在位置)

onfocus     获得交点触发

onkeydown     按下按键触发

onkeyup        抬起按键触发    可以同步显示

 

window.onload     浏览器的所有内容都加载玩以后触发,一个页面中只允许有一个onload事件,不建议使用

window.onresize    浏览器大小改变就触发

获取当前客户端宽度,高度:

window.onresize=fuction(){

var wid =document.documentElement.clientWidth;

var hei =document.documentElement.clientHeight;

}

 

阻止事件冒泡:window.event ? window.event.cancelBubble = true : e.stopPropagation();

 

 

五、动画基础

1、初步动画,匀速

 1 <!DOCTYPE html>
 2 <html xmlns="http://www.w3.org/1999/xhtml">
 3 <head>
 4     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 5     <title></title>
 6     <style type="text/css">
 7         #div1 {
 8             width: 100px;
 9             height: 100px;
10             background-color: red;
11             position: absolute;
12         }
13     </style>
14 </head>
15 <body>
16     <div id="div1"></div>
17 </body>
18 </html>
19 <script type="text/javascript">
20     document.getElementById("div1").onclick = function () {
21         move(this, 300);
22     }
23     //设置一个移动的方法,需要传入两个参数:移动的对象和停止的位置
24     function move(a, end) {
25         var speed = 10;
26         //定时器window.setInterval(function(){要循环执行的代码,循环执行的时间间隔});
27         var timer = window.setInterval(function () {
28             if (a.offsetLeft + speed >= end) {
29                 a.style.left = end + "px"
30                 window.clearInterval(timer);
31             } else
32                 a.style.left = a.offsetLeft + speed + "px";           //样式表中left都带单位,别忘了赋值的时候加上单位。
33         }, 20)
34     }
35 </script>

2、初步动画,缓冲

 1 <!DOCTYPE html>
 2 <html xmlns="http://www.w3.org/1999/xhtml">
 3 <head>
 4     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 5     <title></title>
 6     <style type="text/css">
 7         #div1 {
 8             width: 100px;
 9             height: 100px;
10             background-color: red;
11             position: absolute;
12         }
13     </style>
14 </head>
15 
16 <body>
17     <div id="div1"></div>
18 </body>
19 </html>
20 <script type="text/javascript">
21     document.getElementById("div1").onclick = function () {
22         move(this, 300)
23     }
24     function move(a, end) {
25         var timer = window.setInterval(function () {
26             //开始先获取一下当前位置
27             var begin = a.offsetLeft;
28             //速度用停止的位置减去当前位置除以一个数来记,速度会越来越小,以至于不够一个像素,然后给这个速度取上限,缓冲到速度为1px直到停止
29             var speed = Math.ceil((end - begin) / 30);
30             if (a.offsetLeft + speed >= end) {
31                 a.style.left = end + "px";
32                 window.clearInterval(timer);
33             }
34             else {
35                 a.style.left = a.offsetLeft + speed + "px";
36             }
37 
38         }, 20)
39     }
40 </script>

 

3、动画浮起效果

  1 <!DOCTYPE html>
  2 <html xmlns="http://www.w3.org/1999/xhtml">
  3 <head>
  4     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5     <title></title>
  6     <style>
  7         .div1 {
  8             width: 200px;
  9             height: 300px;
 10             border: 1px solid black;
 11             float: left;
 12             margin-right: 30px;
 13             margin-bottom: 30px;
 14         }
 15     </style>
 16 </head>
 17 <body>
 18     <div style="width: 100%; height: 100px;"></div>
 19     <div class="div1"></div>
 20     <div class="div1"></div>
 21     <div class="div1"></div>
 22 </body>
 23 </html>
 24 
 25 <script type="text/javascript">
 26 
 27     var oDiv1s = document.getElementsByClassName(div1);
 28 
 29     for (var i = 0; i < oDiv1s.length; i++) {
 30         oDiv1s[i].index = i;
 31         oDiv1s[i].onmouseover = function () {
 32             up(this, this.index);
 33         }
 34         oDiv1s[i].onmouseout = function () {
 35             down(this, this.index);
 36         }
 37     }
 38 
 39     //放置所有元素的定时器数组
 40     var timers = new Array();
 41 
 42     //浮起,a:要执行动画的对象,ind:对象的索引
 43     function up(a, ind) {
 44         //清空此对象当前所有的动画效果
 45         window.clearInterval(timers[ind]);
 46 
 47         //获取此对象当前的上边距
 48         var mtop = a.style.marginTop;
 49         var t = 0;//设置默认值为
 50         if (mtop.length > 0) {//如果当前对象有上边距,那么修改默认值
 51             //将“25px”这样的格式数据截取出值
 52             t = parseInt(mtop.substr(0, mtop.length - 2));
 53         }
 54 
 55         //当前阴影值获取,思路同上
 56         var bshadow = a.style.boxShadow;
 57         var b = 0;
 58         if (bshadow.length > 0) {
 59             var bb = bshadow.split( );
 60             b = parseInt(bb[bb.length - 1].substr(bb[bb.length - 1] - 2));
 61         }
 62 
 63         //定时器开启,并将此定时器放入定时器集合中
 64         timers[ind] = window.setInterval(function () {
 65             t--;//上边距改变
 66             b++;//阴影扩散程度改变
 67             if (t <= -25 && b >= 25) {//停止条件
 68                 //停止时将元素锁定在目标位置
 69                 a.style.marginTop = -25px;
 70                 a.style.boxShadow = "0 0 25px gray";
 71                 window.clearInterval(timers[ind]);
 72             }
 73             else {
 74                 //动画执行
 75                 a.style.marginTop = t + px;
 76                 a.style.boxShadow = "0 0 " + b + "px gray";
 77             }
 78         }, 20);
 79 
 80     }
 81 
 82     //下降,a:要执行动画的对象,ind:对象的索引
 83     function down(a, ind) {
 84         //清空此对象当前所有的动画效果
 85         window.clearInterval(timers[ind]);
 86 
 87         //获取此对象当前的上边距
 88         var mtop = a.style.marginTop;
 89         var t = -25;//设置默认值为
 90         if (mtop.length > 0) {//如果当前对象有上边距,那么修改默认值
 91             //将“25px”这样的格式数据截取出值
 92             t = parseInt(mtop.substr(0, mtop.length - 2));
 93         }
 94 
 95         //当前阴影值获取,思路同上
 96         var bshadow = a.style.boxShadow;
 97         var b = 0;
 98         if (bshadow.length > 0) {
 99             var bb = bshadow.split( );
100             b = parseInt(bb[bb.length - 1].substr(bb[bb.length - 1] - 2));
101         }
102 
103         //定时器开启,并将此定时器放入定时器集合中
104         timers[ind] = window.setInterval(function () {
105             t++;//上边距改变
106             b--;//阴影扩散程度改变
107             if (t >= 0 && b <= 0) {//停止条件
108                 a.style.marginTop = 0px;
109                 a.style.boxShadow = "0 0 0px gray";
110                 window.clearInterval(timers[ind]);
111             }
112             else {
113                 //动画执行
114                 a.style.marginTop = t + px;
115                 a.style.boxShadow = "0 0 " + b + "px gray";
116             }
117         }, 20);
118 
119     }
120 
121 
122 
123 </script>

技术分享

 

【2017-04-01】JS字符串的操作、时间日期的操作、函数、事件、动画基础