写一下昨天学习的html5的相关内容,首先谈下初次接触html5的感受。以前总是听说html5是如何的强大,如何的将要改变世界。总是充满了神秘感。首先来谈一下我接触的第一个属性是  input的里面的一个属性是 type="email"。以前用html的时候,type是有很多类型的,有text,password,summit。就是没听说过email。当得知这个email是验证输入的内容是否为email格式的时候。我顿时兴奋了。以前接触到html的时候,如果要验证输入内容时,是需要写js代码的。如果高级的话是要加入js插件的。html5直接一个email就搞定了。应了那句话,html5让世界更美好。

  学的第一个内容还是一些标签和属性之类的,可以参考一个http://www.w3school.com.cn/html5/index.asp。上面有大量的内容,不在这废话了。这里主要来介绍写的几个程序来写一下重要的知识点。

  第一个程序是关于拖拽的 主要介绍一下drag和drop

      

首先,为了使元素可拖动,把 draggable 属性设置为 true :

<img draggable="true" />

拖动什么 - ondragstart 和 setData()

然后,规定当元素被拖动时,会发生什么。

在上面的例子中,ondragstart 属性调用了一个函数,drag(event),它规定了被拖动的数据。

dataTransfer.setData() 方法设置被拖数据的数据类型和值:

function drag(ev)
{
ev.dataTransfer.setData("Text",ev.target.id);
}

在这个例子中,数据类型是 "Text",值是可拖动元素的 id ("drag1")。

放到何处 - ondragover

ondragover 事件规定在何处放置被拖动的数据。

默认地,无法将数据/元素放置到其他元素中。如果需要设置允许放置,我们必须阻止对元素的默认处理方式。

这要通过调用 ondragover 事件的 event.preventDefault() 方法:

event.preventDefault()

进行放置 - ondrop

当放置被拖数据时,会发生 drop 事件。

在上面的例子中,ondrop 属性调用了一个函数,drop(event):

function drop(ev)
{
ev.preventDefault();
var data=ev.dataTransfer.getData("Text");
ev.target.appendChild(document.getElementById(data));
}

这里主要就是被拖拽的元素是加  draggable="true"  ondragstart="drag(event)"   记住被拖拽的元素要加上id的,不然是不行的

被放拖拽地方的元素加 ondrop="drop(event)" ondragover="allowDrop(event)"  也要加上id的  然后加上js代码

  <script type="text/javascript">
function allowDrop(e) {
e.preventDefault();
} function drag(e) {
e.dataTransfer.setData("id", e.target.id); } function drop(e) {
e.preventDefault();
var id = e.dataTransfer.getData("id");
e.target.appendChild(document.getElementById(id)); //需要做的事情
/*var block = document.getElementById(id);
block.parentNode.removeChild(block);*/
}
</script>

这样就OK了

下面一个是html5的

localStorage 方法来储存本地的查询记录,类似百度的那种

<!DOCTYPE html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,
initial-scale=1.0,
maximum-scale=1.0,
user-scalable=no"/>
<title></title> <script type="text/javascript">
//获得焦点
function focuse(){
var storage = window.localStorage; //获取本地storage
if(storage.length!=0){ //确定不为空
document.getElementById("div1").style.display="" //显示装本地搜索历史的div
document.getElementById("div1").innerHTML=""; //该div清空
for(var i=0;i<storage.length;i++){ //循环出本地storage的内容
document.getElementById("div1").innerHTML+=storage.getItem(i)+"<br>";
}
}
}
//失去焦点
function blure(){
document.getElementById("div1").style.display="none"
}
//点击按钮执行
function search(){
if(window.localStorage){
var storage = window.localStorage;
var i=storage.length;
var input=eval(document.getElementById("in")).value;
if(ergodic()){ //判断内容是否与原来相同
if(input!=""){ //判断是否为空
localStorage.setItem(i,input); //向本地的storage中加入内容,本地的内容是以键值对的形式存储的
}else{
alert("不能为空");
} }else{ }
document.getElementById("in").value=""; //清空输入框的内容
}else{
alert('This browser does NOT support localStorage');
}
}
//用来本次输入的内容是否和之前搜查的内容相同
function ergodic(){
var input=eval(document.getElementById("in")).value;
var storage = window.localStorage;
for(var i=0;i<storage.length;i++){
if(input==storage.getItem(i)){
return false;
}
/* document.write(storage.key(i)+ " : " + storage.getItem(storage.key(i)) + "<br>");*/
}
return true; }
//清除本地的storage
function quit(){
localStorage.clear();
}
</script>
</head>
<body >
<div >
<div style="margin:0 auto;">
<div style="position:static;float:left;">
<input id="in" type="text" style="width: 10em" onfocus="focuse()" onblur="blure()">
</div>
<div>
<button id="button1" onclick="search()" style="float: left" >搜查</button>
</div>
<div>
<button onclick="quit()">清除</button>
</div>
</div>
<div id="div1" style="border: 2px solid #F0F0F0;width:8.5em;position:static;float:none;line-height: 1.2em; display:none"> </div>
</div>
</body> </html>

本地内容是以键值对的形式来存储的

localStorage.setItem(i,input);  向本地加内容

localStorage.getItem(i);      从本地取内容

localStorage.clear();    清除本地内容

学习笔记之html5相关内容的更多相关文章

  1. DSP EPWM学习笔记2 - EPWM相关寄存器设置问题解析

    DSP EPWM学习笔记2 - EPWM相关寄存器设置问题解析 彭会锋 本篇主要针对不太熟悉的TZ 故障捕获 和 DB 死区产生两个子模块进行学习研究 感觉TI的寄存器命名还是有一定规律可循的 SEL ...

  2. HTML5 学习笔记--------》HTML5概要与新增标签!

      一.HTML5概要 1.1.为什么需要HTML5 HTML4陈旧不能满足日益发展的互联网需要,特别是移动互联网.为了增强浏览器功能Flash被广泛使用,但安全与稳定堪忧,不适合在移动端使用(耗电. ...

  3. JavaSE中Collection集合框架学习笔记(2)——拒绝重复内容的Set和支持队列操作的Queue

    前言:俗话说“金三银四铜五”,不知道我要在这段时间找工作会不会很艰难.不管了,工作三年之后就当给自己放个暑假. 面试当中Collection(集合)是基础重点.我在网上看了几篇讲Collection的 ...

  4. Linux学习笔记之Linux相关知识

    [想成为某一方面的大神,没有捷径可走,只能不断的记录.练习.总结.coding……] notes:主要从网上摘录了一些关于Linux的历史以及一些相关内容,以便对Linux系统有一定的了解.这不但可以 ...

  5. 大学四年的Python学习笔记分享之一,内容整理的比较多与仔细

    翻到以前在大学坚持记录的Python学习笔记,花了一天的时间整理出来,整理时不经回忆起大学的时光,一眨眼几年就过去了,现在还在上学的你们,一定要珍惜现在,有个充实的校园生活.希望这次的分享对于你们有学 ...

  6. Hibernate5笔记8--Hibernate事务相关内容

    Hibernate事务相关内容: (1) 事务四大特性(简称ACID): (1)原子性(Atomicity) 事务中的全部操作在数据库中是不可分割的,要么全部完成,要么均不执行. (2)一致性(Con ...

  7. rails学习笔记: rake db 相关命令

    rails学习笔记: rake db 命令行 rake db:*****script/generate model task name:string priority:integer script/g ...

  8. JS学习笔记--仿手机发送内容交互

    学习JS笔记----记录上课中学习的知识点,分享下老师教的内容: 1.html内容 <div id="box"> <div id="message&qu ...

  9. TSPL学习笔记(4):数组相关练习

    最近研究函数式编程,都是haskell和scheme交互着看的,所以笔记中两种语言的内容都有,练习一般也都用两种语言分别实现. 本篇练习一些数组有关的问题,之所以与数组相关是因为在命令式编程中以下问题 ...

随机推荐

  1. php表单(2)

    学习php表单 主要是想知道 前端通过submit之后 后端是如何进行操作的.现在实现一个效果:点击submit,输入框的信息不会被刷掉:刷新页面,输入框的信息被刷掉(index.php). < ...

  2. 微软Visual Studio "14" CTP 2 发布

    微软Visual Studio "14" CTP 2 发布 对于在微软阵营下进行工作的团队来说,拥有最新版本的Visual Studio是提高效率最佳的选择,没有之一. 在本文中, ...

  3. Web面试之JQuery

    程序员Web面试之JQuery   又到了一年一度的毕业季了,青春散场,却等待下一场开幕. 在求职大军中,IT行业的程序员.码农是工科类大学生的热门选择之一, 尤其是近几年Web的如火如荼,更是吸引了 ...

  4. 从uibutton的点击谈谈ios的响应事件

    最近在做一个项目,接连遇到两个关于点击事件的问题. 1.点击button不能响应事件的. 2.子view的frame超出了父view的容器大小,也不能响应点击事件. 效果图如右: 1.第一张图中的弹出 ...

  5. 2013.2.A&&3.A

    半期考之后,磨磨蹭蹭的刷了两套长乐的模拟题[=-=我现在实在是不敢恭维自己的刷题速度]感觉貌似很久没有来这里喂食了,就顺便yy下题解好了 2013.2.A: ice :BFS和spfa都可以,我打了个 ...

  6. get 新技能

    找usaco各种月赛的数据戳这里:ace.delos.com/NOV06 这里表2006.11的数据,其余的数据同上搜索 月赛题目http://pan.baidu.com/share/link?sha ...

  7. hive UDAF开发入门和运行过程详解(转)

    介绍 hive的用户自定义聚合函数(UDAF)是一个很好的功能,集成了先进的数据处理.hive有两种UDAF:简单和通用.顾名思义,简单的UDAF,写的相当简单的,但因为使用Java反射导致性能损失, ...

  8. [实验]通过内核Patch去掉iOS-v4.3.3的沙盒特性

    环境: 1.Mac OS X 10.9.2 2.xcode 5.1.1 3.gcc 4.8 4.redsn0w 0.9.15b3 前提: 1.获取 iOS 4.3.3 的kernelcache,并解密 ...

  9. Objective-C Blocks测试题与解析

    Objective-C Blocks测试 你真的理解blocks在objective-c中是如何工作的了吗,做个测试检验一下吧. 所有的测试结果已被以下版本的LLVM验证: Apple clang v ...

  10. XP系统安装ArcGIS10.0需要修改的一个配置

    1,右击我的电脑,查看属性. 2,选择“高级”选项卡,“启动和故障恢复”单击“设置”.   3,在“默认操作系统”中单击“编辑”:   4,在弹出的boot.ini文档中把操作系统改成相应的操作系统, ...