js简单备忘录
<section class="myMemory">
<h3 class="f-tit">记事本</h3>
<div class="myform">
<div class="formcon">
<p>标题:</p>
<input id="formTit" type="text"/>
<p>日期:</p>
<input id="formDate" type="date"/>
<p>内容:</p>
<textarea id="formCon" cols="30" rows="5"></textarea>
<button class="addBtn">添加事件<span class="add-success">添加成功</span></button>
<p>已添加提醒事件</p>
<div class="conbox">
<div class="thing">
<div class="th-head">
<h3 class="th-tit fl"></h3>
<div class="th-time fl"></div>
<span class="th-del">删除</span>
</div>
<div class="th-con">
<span class="con-list"></span>
</div>
</div>
</div>
</div>
</div>
</section>
/*记事本*/
.myform{
width:400px;
height:400px;
border:1px solid #fff;
margin:0 auto;
overflow:hidden;
background:#fff;
border-radius:20px;
}
.myMemory{
z-index:1000;
}
.f-tit{
color:#fff;
font-size:30px;
margin-left:45.5%;
margin-top:70px;
margin-bottom:30px;
}
.formcon{
width:100%;
height:100%;
overflow:auto;
overflow-x:hidden;
}
.myform p{
text-align:center;
font-size:20px;
padding-top:5px;
}
.myform input{
display:block;
font-size:20px;
text-align:center;
width:80%;
height:50px;
line-height:50px;
margin:0 auto;
border:1px solid #d4d4d4;
border-radius: 50px;
}
#formDate{
padding:10px 0 10px 50px;
}
#formCon{
display:block;
width:80%;
border-radius:20px;
margin:0 auto;
outline:none;
padding:6px 12px;
font-size:20px;
}
.addBtn{
display:block;
width:80%;
height:50px;
background:#E91E63;
border-radius:50px;
cursor:pointer;
margin:20px auto;
font-size:20px;
color:#fff;
position:relative;
}
.add-success{
width:50%;
position:absolute;
display:block;
height:30px;
background:#333;
top:-30px;
font-size:16px;
font-family:"微软雅黑";
text-align:center;
line-height:30px;
opacity:0.6;
filter:alpha(opacity=60);
border-radius:5px;
left:24%;
display:none;
}
.add-suc{
display:block;
}
.addBtn:hover{
background:#E90B50;
}
.formcon .conbox{
width:80%;
min-height:50px;
border-radius:20px;
border:1px solid #d4d4d4;
margin:0 auto;
padding:6px 12px;
}
.formcon .conbox .thing{
width:100%;
border-bottom:1px solid #d4d4d4;
display:none;
}
.formcon .conbox .th-head{
width:100%;
height:25px;
line-height:25px;
border-bottom:1px dashed #d4d4d4;
}
.th-tit{
float:left;
font-size:16px;
width:55%;
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
}
.th-time{
margin-left:30px;
font-size:12px;
}
.th-del{
float:right;
font-size:12px;
color:#777;
cursor:pointer;
text-decoration:line-through;
}
.myform .conbox .th-con{
width:100%;
padding:5px;
line-height:1.5;
font-family:"微软雅黑";
text-indent:1.3em;
font-size:14px;
}
.myform .conbox .th-con .con-list{
white-space:pre-wrap;
}
//记事本
var mesArr = localStorage.message?JSON.parse(localStorage.message) : [];
if(mesArr.length){
$(mesArr).each(function(){
var $thing = $(".thing").eq(0).clone().show();//克隆装事件的容器
$thing.find(".th-tit").html(this.title);
$thing.find(".th-time").html(this.times);
$thing.find(".th-con .con-list").html(this.fCon);
$thing.appendTo($(".conbox"));
})
}
//添加事件
$(".addBtn").click(function(){
if($("#formTit").val() && $("#formDate").val() && $("#formCon").val()){
var title = $("#formTit").val();
var times = $("#formDate").val();
var fCon = $("#formCon").val();
var $thing = $(".thing").eq(0).clone().show();
$thing.find(".th-tit").html(title);
$thing.find(".th-time").html(times);
$thing.find(".th-con .con-list").html(fCon);
$thing.appendTo($(".conbox"));
var obj = {};
obj.title = title;
obj.times = times;
obj.fCon = fCon;
mesArr.push(obj);
localStorage.message = JSON.stringify(mesArr);
$("#formTit").val("");//添加完清空输入内容
$("#formDate").val("");
$("#formCon").val("");
$(".add-success").html("添加成功").addClass("add-suc").addClass("animated fadeInUp");
setTimeout(function(){
$(".add-success").removeClass("animated fadeInUp").removeClass("add-suc")
},1400)
}
else{
$(".add-success").html("请填写完内容").addClass("add-suc").addClass("animated fadeInUp");
setTimeout(function(){
$(".add-success").removeClass("animated fadeInUp").removeClass("add-suc")
},1400)
}
})
//删除事件
$(".conbox").delegate(".th-del","click",function(){
var index = $(this).parents(".thing").index() - 1;
$(this).parents(".thing").remove();
mesArr.splice(index,1);
localStorage.message = JSON.stringify(mesArr);
})
js简单备忘录的更多相关文章
- js简单 图片版时钟,带翻转效果
js简单 图片版时钟,带翻转效果 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"& ...
- js简单操作Cookie
贴一段js简单操作Cookie的代码: //获取指定名称的cookie的值 function getCookie(objName) { var arrStr = document.cookie.spl ...
- js简单弹出层、遮罩层
<html> <head> <title>js简单弹出层</title> <style> /*阴影边框效果*/ .box-shadow-1 ...
- Tourist.js – 简单灵活的操作指南和导航插件
Tourist.js 是一个基于 Backbone 和 jQuery 开发的轻量库,帮助你在应用程序创建简单易用的操作指南和导航功能.相比网站,它更适合用于复杂的,单页网站类型的应用程序.Touris ...
- js简单显示和隐藏div,触发超链接,动态更改button值,setInterval()简单使用,jquery easyui弹出框简单使用 .
js简单显示和隐藏div .<!DOCTYPE html> .<html> .<head> .<meta charset="UTF-8"& ...
- Gulp.js - 简单、直观的自动化项目构建工具
Gulp.js 是一个简单.直观的构建系统.崇尚代码优于配置,使复杂的任务更好管理.通过结合 NodeJS 的数据流的能力,你能够快速构建.通过简单的 API 接口,只需几步就能搭建起自己的自动化项目 ...
- Node.js简单介绍并实现一个简单的Web MVC框架
编号:1018时间:2016年6月13日16:06:41功能:Node.js简单介绍并实现一个简单的Web MVC框架URL :https://cnodejs.org/topic/4f16442cca ...
- JS简单入门教程
JS简单教程 使用方法:放到任意html页面的head标签下 Test1方法弹出当前时间对话框 Test2方法for循环输出 Test3方法for(…in…)输出数组内容 <script typ ...
- js简单实现链式调用
链式调用实现原理:对象中的方法执行后返回对象自身即可以实现链式操作.说白了就是每一次调用方法返回的是同一个对象才可以链式调用. js简单实现链式调用demo Object.prototype.show ...
随机推荐
- mysql中的视图、事务和索引
视图: 对于一个sql查询,如果发生了修改,就需要修改sql语句. 我们可以通过定义视图来解决问题.改变需求之后就改变视图. 视图是对查询的封装 定义视图: create view 视图名称 as s ...
- jsp和servlet的区别和联系
jsp和servlet的区别和联系:1.jsp经编译后就变成了Servlet.(JSP的本质就是Servlet,JVM只能识别java的类,不能识别JSP的代码,Web容器将JSP的代码编译成JVM能 ...
- SublimeText用FileHeader给代码文件生成头部注释
https://github.com/shiyanhui/FileHeader 修改的模板在这个路径下:C:\Users\[USERNAME]\AppData\Roaming\Sublime Text ...
- hdu2674 N!Again---思维
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=2674 题目大意: 求n!%2009的值 思路: 由于模2009,所以大于等于2009的直接为0,前2 ...
- 新手创建Vue项目
======================安装vue=============================(参考网址:http://www.bubuko.com/infodetail-21320 ...
- CentOS 7 源码编译安装MySQL 5.7.14
一.添加用户和组 1. 进入root: su 2. 添加组: groupadd mysql 3. 添加用户: useradd -r -g mysql -s /bin/false mysql 二.安装 ...
- [Micropython]TPYBoard v10x拼插编程实验 点亮心形点阵
一.什么是TPYBoard开发板 TPYBoard是以遵照MIT许可的MicroPython为基础,由TurnipSmart公司制作的一款MicroPython开发板,它基于STM32F405单片机, ...
- 【前端】Ubuntu16下nodejs+npm+vue环境配置
笔者最近在学习vue.js,不过一直都是在runoob上面各种尝试.今天笔者在本机(Ubuntu16.04)尝试部署了nodejs+npm+vue开发环境,接下来将尽可能详细的讲述安装过程,帮助新人少 ...
- 音频降噪算法 附完整C代码
降噪是音频图像算法中的必不可少的. 目的肯定是让图片或语音 更加自然平滑,简而言之,美化. 图像算法和音频算法 都有其共通点. 图像是偏向 空间 处理,例如图片中的某个区域. 图像很多时候是以二维数据 ...
- 教你从手机中提取system镜像制作线刷救砖包的简单方法
其实在制作刷机包的过程中,有时候没有官方或者第三方提供的救砖包(线刷),那怎么办?常规的方法有两种:(此处为常规方法,回读的方式暂不说明) 1.卡刷包转线刷包 2.dd命令导出分区镜像 ...