【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、初步动画,匀速
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<style type="text/css">
#div1 {
width: 100px;
height: 100px;
background-color: red;
position: absolute;
}
</style>
</head>
<body>
<div id="div1"></div>
</body>
</html>
<script type="text/javascript">
document.getElementById("div1").onclick = function () {
move(this, 300);
}
//设置一个移动的方法,需要传入两个参数:移动的对象和停止的位置
function move(a, end) {
var speed = 10;
//定时器window.setInterval(function(){要循环执行的代码,循环执行的时间间隔});
var timer = window.setInterval(function () {
if (a.offsetLeft + speed >= end) {
a.style.left = end + "px"
window.clearInterval(timer);
} else
a.style.left = a.offsetLeft + speed + "px"; //样式表中left都带单位,别忘了赋值的时候加上单位。
}, 20)
}
</script>
2、初步动画,缓冲
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<style type="text/css">
#div1 {
width: 100px;
height: 100px;
background-color: red;
position: absolute;
}
</style>
</head> <body>
<div id="div1"></div>
</body>
</html>
<script type="text/javascript">
document.getElementById("div1").onclick = function () {
move(this, 300)
}
function move(a, end) {
var timer = window.setInterval(function () {
//开始先获取一下当前位置
var begin = a.offsetLeft;
//速度用停止的位置减去当前位置除以一个数来记,速度会越来越小,以至于不够一个像素,然后给这个速度取上限,缓冲到速度为1px直到停止
var speed = Math.ceil((end - begin) / 30);
if (a.offsetLeft + speed >= end) {
a.style.left = end + "px";
window.clearInterval(timer);
}
else {
a.style.left = a.offsetLeft + speed + "px";
} }, 20)
}
</script>
3、动画浮起效果
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<style>
.div1 {
width: 200px;
height: 300px;
border: 1px solid black;
float: left;
margin-right: 30px;
margin-bottom: 30px;
}
</style>
</head>
<body>
<div style="width: 100%; height: 100px;"></div>
<div class="div1"></div>
<div class="div1"></div>
<div class="div1"></div>
</body>
</html> <script type="text/javascript"> var oDiv1s = document.getElementsByClassName('div1'); for (var i = 0; i < oDiv1s.length; i++) {
oDiv1s[i].index = i;
oDiv1s[i].onmouseover = function () {
up(this, this.index);
}
oDiv1s[i].onmouseout = function () {
down(this, this.index);
}
} //放置所有元素的定时器数组
var timers = new Array(); //浮起,a:要执行动画的对象,ind:对象的索引
function up(a, ind) {
//清空此对象当前所有的动画效果
window.clearInterval(timers[ind]); //获取此对象当前的上边距
var mtop = a.style.marginTop;
var t = 0;//设置默认值为
if (mtop.length > 0) {//如果当前对象有上边距,那么修改默认值
//将“25px”这样的格式数据截取出值
t = parseInt(mtop.substr(0, mtop.length - 2));
} //当前阴影值获取,思路同上
var bshadow = a.style.boxShadow;
var b = 0;
if (bshadow.length > 0) {
var bb = bshadow.split(' ');
b = parseInt(bb[bb.length - 1].substr(bb[bb.length - 1] - 2));
} //定时器开启,并将此定时器放入定时器集合中
timers[ind] = window.setInterval(function () {
t--;//上边距改变
b++;//阴影扩散程度改变
if (t <= -25 && b >= 25) {//停止条件
//停止时将元素锁定在目标位置
a.style.marginTop = '-25px';
a.style.boxShadow = "0 0 25px gray";
window.clearInterval(timers[ind]);
}
else {
//动画执行
a.style.marginTop = t + 'px';
a.style.boxShadow = "0 0 " + b + "px gray";
}
}, 20); } //下降,a:要执行动画的对象,ind:对象的索引
function down(a, ind) {
//清空此对象当前所有的动画效果
window.clearInterval(timers[ind]); //获取此对象当前的上边距
var mtop = a.style.marginTop;
var t = -25;//设置默认值为
if (mtop.length > 0) {//如果当前对象有上边距,那么修改默认值
//将“25px”这样的格式数据截取出值
t = parseInt(mtop.substr(0, mtop.length - 2));
} //当前阴影值获取,思路同上
var bshadow = a.style.boxShadow;
var b = 0;
if (bshadow.length > 0) {
var bb = bshadow.split(' ');
b = parseInt(bb[bb.length - 1].substr(bb[bb.length - 1] - 2));
} //定时器开启,并将此定时器放入定时器集合中
timers[ind] = window.setInterval(function () {
t++;//上边距改变
b--;//阴影扩散程度改变
if (t >= 0 && b <= 0) {//停止条件
a.style.marginTop = '0px';
a.style.boxShadow = "0 0 0px gray";
window.clearInterval(timers[ind]);
}
else {
//动画执行
a.style.marginTop = t + 'px';
a.style.boxShadow = "0 0 " + b + "px gray";
}
}, 20); } </script>

【2017-04-01】JS字符串的操作、时间日期的操作、函数、事件、动画基础的更多相关文章
- Java8 时间日期类操作
Java8 时间日期类操作 Java8的时间类有两个重要的特性 线程安全 不可变类,返回的都是新的对象 显然,该特性解决了原来java.util.Date类与SimpleDateFormat线程不安全 ...
- MySQL中的数据类型 [数值型、字符串型、时间日期型]
MySQL中的数据类型 [数值型.字符串型.时间日期型] MySQL中各数据类型 1. 数值类型(整型) 类型 数据大小 类型 (无符号:unsigned) 数据大小 存储空间 tinyint -12 ...
- Js/jquery获取当前日期时间及其它操作
var myDate = new Date(); myDate.getYear(); //获取当前年份(2位) myDate.getFullYear(); //获取完整的年份(4位,1970-???? ...
- js对象 1字符串对象2时间日期对象3数字对象
1字符串对象 直接对字符操作 var str = "这,是,不,是,字,符,串"; //字符串转数组 字符串.split(分隔符) var arr ...
- js字符串替换(时间转换)
转: js中字符串全部替换 废话不多说,直接发结果 在js中字符串全部替换可以用以下方法: str.replace(/需要替换的字符串/g,"新字符串") 比如: "yy ...
- 八十三:redis之redis的字符串、过期时间、列表操作
字符串操作 设置值 set key value 设置有空格的值,加引号 set username 'hello world' 获取值 get key 删除值:del key 清除所有内容:flusha ...
- js 字符串格式化为时间格式
首先介绍一下我遇到的坑,找了几个关于字符串转时间的,他们都可以就我用的时候不行. 我的原因,我的字符串是MYSQL拿出来的不是标准的时间格式,是不会转成功的. 解决思路:先将字符串转为标准时间格式的字 ...
- Cheatsheet: 2017 04.01 ~ 04.30
Other ReactXP - A LIBRARY FOR BUILDING CROSS-PLATFORM APPS Merging vs. Rebasing Better Git configura ...
- js有关时间日期的操作
var myDate = new Date();var date_string = myDate.getFullYear()+""+((myDate.getMonth()+1)&l ...
随机推荐
- ACM入门:第s名的小红
前几天的大一新生赛自己也跟着做了做,顺便测测后台数据有没有bug,这是一道排序题,题目如下: Problem Description 小红总是排第二,有点不服气,现在她想知道一个序列中第二小的数字是多 ...
- ReactJS的开发日常
在用React框架开发的日子里,踩的坑真不少!今天就来说说这个关于组件的周期,说的可能不是很清楚,但是也给自己留下一个踩坑的纪念,如有不妥 还望大家指点一二 Warning: setState(... ...
- BZOJ 1050: [HAOI2006]旅行comf (并查集 或 单调队列)
这是建空间后做的第一道题啊= =好水 排序,枚举最小边,然后并查集求出联通时的最大边 或者排次序,从小到大插边,如果插边时最小的边拿掉不会使s与t不联通,就删去。 code: #include< ...
- iOS 推送全解析,你不可不知的所有 Tips!
本文旨在对 iOS 推送进行一个完整的剖析,如果你之前对推送一无所知,那么在你认真地阅读了全文后必将变成一个推送老手,你将会对其中的各种细节和原理有充分的理解.以下是 pikacode 使用 iOS ...
- 消除input,button之间的间距
代码: 效果: 问题: input,button标签之间出现了间距,这并不是我们所期望的. 解决方法: 1.在父级元素上设置属性:font-size:0px; 将input父级字体(font-size ...
- 用DapperExtensions和反射来实现一个通用搜索
前言 搜索功能是一个很常用的功能,当然这个搜索不是指全文检索,是指网站的后台管理系统或ERP系统列表的搜索功能.常见做法一般就是在搜索栏上加上几个常用字段来搜索.代码可能一般这样实现 StringBu ...
- 10条建议让你创建更好的jQuery插件
在开发过很多 jQuery 插件以后,我慢慢的摸索出了一套开发jQuery插件比较标准的结构和模式.这样我就可以 copy & paste 大部分的代码结构,只要专注最主要的逻辑代码就行了.使 ...
- Redis 11种Web应用场景举例
在"怎样让redis在你的系统中发挥作用"一文中,salvatore 'antirez' sanfilippo告诉我们如何利用redis独有的数据结构处理能力来解决一些常见问题.一 ...
- 模仿Wireshark网络抓包工具实现---c++
最近在用Wireshark抓包工具的时候,老感觉这东西用起来很简单,功能强大,所以想了解他的实现原理,我就自己好奇写了一个实现基本功能的demo吧. 其实叫抓包工具,其实就是抓取流经自己网卡的所有ip ...
- SQL 中的常用函数及使用
在SQL中我们使用的函数有很多,我们经常使用的就是下面的一些函数,那么我一一列举数来: 1:聚合函数:MAX 返回指定数据的最大值. MIN 返回指定数据的最小值. COUNT 返回指定组中项目的数量 ...