H5新增API

一. 全屏显示

<script>
 //判断浏览器是否正常兼容
// var img=document.querySelector("#imgs");
 var img=document.querySelector("div");
 var btn=document.querySelector(".big");
 btn.onclick=function(){
  if(img.requestFullScreen){
   img.requestFullScreen();
  }else if(img.mozRequestFullScreen){
   img.mozRequestFullScreen();
  }else if(img.msRequestFullScreen){
   img.msRequestFullscreen();
  }else if(img.webkitRequestFullScreen){
   img.webkitRequestFullScreen();
  }else if(img.oRequestFullScreen){
   img.oRequestFullScreen();
  }
  
 }
 document.querySelector(".cancel").onclick=function(){
  //取消全屏只和document有关
   document.webkitCancelFullScreen();
 }
 document.querySelector(".panduan").onclick=function(){
  alert(document.webkitIsFullScreen);//判断是否为全屏,返回结果为布尔型
 }
 </script>

或者用全屏伪类选择器
div:full-screen{ }
二.上传文件的读取
步骤:
1.文件域
2,选择需要的文件,读取fileReader
3.将读取的内容显示到页面

<script>
  var file=document.querySelector('input');
  var div=document.querySelector("div");
//  console.log(files);打印结果为input标签
  file.onchange=function(){
//   for(var k in file){遍历file,查看其有哪些属性
    console.log(file[k]);
//   }
//   console.log(this.files);file的files属性存放所选择文件的相关内容(FileList {0: File, length: 1}0: File {name: "笔记.txt", lastModified: 1564481637729, lastModifiedDate: Tue Jul 30 2019 18:13:57 GMT+0800 (中国标准时间), webkitRelativePath: "", size: 346, …}length: 1__proto__: FileList)
   var reader=new FileReader();
//   reader.readAsText(this.files[0]);//将内容村存储到result里面
   reader.readAsDataURL(this.files[0]);//读取的是files[0]里面的地址值
   console.log(this.files[0])
   reader.onload=function(){
//    div.innerHTML=this.result;
    div.innerHTML='<img src="'+this.result+'"></img>';
   }
  }
 </script>

三。图片的任意拖放

步骤及思路:
1.哪个元素需要拖放则给那个元素设置
文本类型的标签需要设置draggable=“true”;
而图片则不需要设置,因其本身就具有可拖动性
2.找到源文件,设置拖拽
ondragstart:开始拖拽;ondrag:拖拽中;ondragend拖拽结束

ondragenter:进入目标文件;ondragover:悬浮于目标文件上方
ondragleave:离开目标对象时触发;ondrop:在目标对象上方释放
3.找到目标文件设置释放
若要触发ondrop则需要在ondragover中阻止默认事件
方法一:

var img=document.querySelector("#imgs");
//  var p=document.querySelector("P");
//  var target=document.querySelector(".div2");
  //方法一:灵活性差
//  target.ondragover=function(event){
//   event.preventDefault();
//  }
//  target.ondrop=function(){
//   this.appendChild(img);
//   this.appendChild(p);
//  }

方法二:

//方法二缺点:全局变量太多
//  var obj=null;
//  document.ondragstart=function(event){
//   obj=event.target;//用全局变量obj存放当前事件对象
//  }
//  document.ondragover=function(event){
//   event.preventDefault();
//  }
//  document.ondrop=function(event){
//   event.target.appendChild(obj);
//  }

方法三:

//方法三
  document.ondragstart=function(event){
   event.dataTransfer.setData("text/html",event.target.id);
  }
  document.ondragover=function(event){
   event.preventDefault();
  }
  document.ondrop=function(event){
   var id=event.dataTransfer.getData("text/html");//获取存储的数据
   event.target.appendChild(document.getElementById(id));
  }

四.本地存储
1.localStorage:存储20M内容,数据永久性保留在浏览器中
2.sessionStorage:5M,关闭浏览器后数据消失

<script>
 //存入写死的数据
//   window.sessionStorage.setItem('age',23);
//   window.sessionStorage.setItem('pwd',123);
//   window.sessionStorage.setItem('name','张三');
   var username=document.querySelector('#username');
   document.querySelector('#setData').onclick=function(){
    // 点击之后 得到文本框中的值
    var val=username.value;
    // 存储数据
    window.sessionStorage.setItem('name',val);
   }
   
   document.querySelector('#getData').onclick=function(){
    alert(window.sessionStorage.getItem('name'));
   }
   document.querySelector('#delData').onclick=function(){
    // window.sessionStorage.removeItem('name');清除单条数据
    window.sessionStorage.clear();//清除所有的数据
   }
//   localStorage的写法如上,替换sessionStorage
 </script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值