html5笔记02
来源:互联网 发布:知乎周刊和知乎一样吗 编辑:程序博客网 时间:2024/06/01 09:41
一,Hbulider编辑器安装使用。
二,html5新增全屏幕效果
this.requestFullScreen();
/*querySelector()方法支持css3中的选择器*/ document.querySelector('input[type=button]').onclick=function () { //标准的语法就是 //ie11以下都不支持 //由于兼容性问题以及浏览器自带了全屏,实际开发中很少用到全屏方法。 if (this.requestFullScreen) { this.requestFullScreen(); } else if(this.webkitRequestFullScreen){ this.webkitRequestFullScreen(); }else if(this.msRequestFullScreen){ //ie浏览器 this.msRequestFullScreen(); }else if( this.mozRequestFullScreen){ //火狐 this.mozRequestFullScreen(); }}
二,文件读取:
onchange , readAsDataURL(this.files[0]) , reader.onload
用户点击头像实现实时预览的效果
document.querySelector('input[type=file]').onchange=function () { //创建文件读取对象 var reader=new FileReader(); //通过当前的file标签获取选择的文件 console.log(this.files);//值为一个数组形式 //调用该对象的方法读取文件 //读取文件是一个耗时操作不一定什么时候读取完毕,可以用onload添加事件 reader.readAsDataURL(this.files[0]); reader.onload=function(){ // 使用读取完毕的文件 console.log(reader.result); //使用返回的结果即可,cover缩放到跟屏幕一样大 document.querySelector('.iconBox').style.background='url('+reader.result+') no-repeat center/cover'; }}
三,文件拖拽布局:day02
/*定义全局变量保存拖放元素:*/var moveDom; //让元素能够被拖拽的内容 丢进去 document.querySelector('.showBox').ondragover=function(e) { /* 1,先组织showbox的默认行为:为函数添加一个事件参数,调用事件参数e.*/ e.preventDefault();//让元素能够拖拽到框框中 } //拖拽元素 丢到容器内 会触发ondrop事件(如果没有在ondragover中阻止默认行为,是不可以拖拽事件触发的) document.querySelector('.showBox').ondrop=function(e) { /*获取moveDom的src属性并赋值给盒子*/ this.style.background='url('+moveDom.src+') no-repeat center/cover' moveDom=this;} //开始拖拽元素的时候会触发ondragstart事件。 /*获取所有img标签绑定拖拽事件*/ var imgs=document.querySelectorAll('img'); for(var i=0;i<imgs.length;i++){ imgs[i].ondragstart=function(){ moveDom=this; } } } /*document.querySelector('img').ondragstart=function(e) { moveDom=this; }
四,文件拖拽读取,
/*4,文件拖拽读取*//*触发ondragover事件*/ document.querySelector('.rd').ondragover=function(e){ e.preventDefault(); }/* 阻止ondrop事件默认跳转行为*/ document.querySelector('.rd').ondrop=function(e){ /*console.log('123');*/ e.preventDefault(); console.log(e.dataTransfer.files[0]);/* 创建文件读取对象*/ var reader= new FileReader();/* 调用文件读取对象*/reader.readAsDataURL(e.dataTransfer.files[0]);/*文件读取完毕后获取结果:*/reader.onload=function(){ document.querySelector('.rd').style.background='URL('+reader.result+') no-repeat center/cover' } }}
js中文件读取:
function jsReadFiles(files) { if (files.length) { var file = files[0]; //创建文件读取对象 var reader = new FileReader(); if (/text+/.test(file.type)) {//判断文件类型是否为text类型 reader.onload = function() { $('body').append('<pre>' + this.result + '</pre>'); } reader.readAsText(file); } else if(/image+/.test(file.type)) {//判断是否为imgage类型 reader.onload = function() { $('body').append('<img src="' + this.result + '"/>'); } reader.readAsDataURL(file); } } }
五,web存储,保存换肤
localStorage保存的值 关闭浏览器之后 还是存在的
sessionStorage保存的值关闭浏览器之后是不存在的,
但是不能用localStorage做保存私密信息.
/*先获取三个div*/var colorDivs=document.querySelectorAll('.container>div');for (var i=0; i<colorDivs.length;i++) { colorDivs[i].onclick=function(){ //获取自身的style 设置给body document.body.style.backgroundColor=getComputedStyle(this).backgroundColor; }}//保存数据,document.querySelector('input[value=保存]').onclick=function(){ //只能保存字符串,这里保存的是body的背景颜色 window.localStorage.setItem("myColor",getComputedStyle(document.body).backgroundColor) alert("保存成功");}//读取数据,传入key就可document.querySelector('input[value=读取]').onclick=function(){ var result=window.localStorage.getItem("myColor"); document.body.style.backgroundColor=result; alert("读取成功");}//删除数据,指定删除某一个键对应的值document.querySelector('input[value=清除]').onclick=function(){ window.localStorage.removeItem("myColor");/* 如果我们只想删除某一个的话,使用removeItem()*/ /*window.localStorage.clear();//全部清除*/ alert("清除成功");}/*打开浏览器,如果保存了颜色,那么直接加载该颜色*/window.onload=function(){ var color=window.localStorage.getItem('myColor'); if(color=!null){ document.body.style.backgroundColor=color; }else{ alert("没有保存颜色哦"); }}
6,地图定位基本语法:
谷歌浏览器服务器在国外,定位读取非常耗时,可以借助工具和谐上网。
h5的定位只有一个经纬度,如果需要有图形界面,需要借助第三方的地图软件,调用里边的api实现地图显示。
定位两步:1,获取地理位置信息,2,如何显示到地图上边。
搜索百度地图api进行辅助显示地图样式
电脑是基于信号基站进行定位的,所以可能定位不是很准确。
(在您的秘钥里边修改秘钥后使用。)
<script type="text/javascript"> window.navigator.geolocation.getCurrentPosition(function(position){ console.log('位置获取成功'); console.log(position.coords.longitude); console.log(position.coords.latitude); // 百度地图API功能/* 通过div的id设置为地图*/ var map = new BMap.Map("allmap"); //设置地图 标注点的位置 var point = new BMap.Point(position.coords.longitude, position.coords.latitude); map.centerAndZoom(point, 15); var marker = new BMap.Marker(point); // 创建标注 map.addOverlay(marker); // 将标注添加到地图中 marker.setAnimation(BMAP_ANIMATION_BOUNCE); //跳动的动画 })
7,自定义播放器-布局页面
/*先获取video*/var videoDom=document.querySelector('video'); document.querySelector('#play').onclick=function(){ if(this.classList.contains('icon-pause')){ /*暂停播放*/ videoDom.pause(); /*移除暂停class*/ this.classList.remove('icon-pause'); }else{ videoDom.play(); this.classList.add('icon-pause'); } }
0 0
- html5笔记02
- HTML5笔记
- html5笔记
- html5笔记
- Html5笔记
- html5笔记
- Html5笔记
- html5笔记
- html5笔记
- HTML5 笔记
- html5笔记
- HTML5笔记
- html5笔记
- HTML5笔记
- html5 笔记
- html5笔记
- html5笔记
- HTML5 笔记
- 编辑命令 vi
- css盒子模型和定位属性
- linux TCP Fast Open开启和测试
- Android学习三 数据存储相关
- thinkphp 文件下载
- html5笔记02
- [李景山php] 桥接,虚拟机无法连接外网,因为没有配置网关
- js处理字符串高亮相关内容,高光
- 简单制作一款MAC软件-显示/隐藏文件
- JDK中设计模式
- 关于fastjson混淆打包后javaBean报空指针异常的解决方案
- 冒泡排序及其优化
- Caused by: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.metastore.HiveMe
- arm开发板 libusb_open打开失败问题