zoukankan      html  css  js  c++  java
  • 新兴API

    function updateProgress(){
    var div = document.querySelector("div");
    div.style.width = (parseInt(div.style.width,10)+1)+"%";
    if(div.style.width !="100%"){
    requestAnimationFrame(updateProgress);
    }
    }
    requestAnimationFrame(updateProgress);

    requestAnimationFrame()

    • 接受一个参数,即在重绘屏幕之前调用的函数,这个函数负责改变下一次重绘的DOM,
      感觉效果可能和setTimeout差不多,但是不支持传第二个时间参数

    • 不过在火狐浏览器中,requestAnimationFrame方法传递的函数,可以传入一个时间吗参数,它代表从代码时间元年到现在的毫秒数()
      mozAnimationStartTime在火狐居然不行???
      只能用下面的这样兼容所有的浏览器
      function draw(){
      var div = document.querySelector("div");
      var drawStart = Date.now();
      var diff = drawStart - starttime;
      starttime = drawStart;
      div.style.width = (parseInt(div.style.width,10)+5)+"%";
      if(div.style.width !="100%"){
      console.log(diff);
      requestAnimationFrame(draw);
      }
      }
      var starttime = Date.now();
      requestAnimationFrame(draw);

    • page visibility API
      当检测用户是否在看着对应的document

    • 该API的document.hidden 返回一个boolean值,当页面不被展示的时候会true

    • document.visibilityState 不过这个属性有很差的兼容性问题,在Google下有三种状态visible,hidden,prerender

    • visibliitychange事件,当可见与不可见发生交替的时候,发生该事件
      document.addEventListener("webkitvisibilitychange",fn);
      function fn(){
      if(document.hidden){
      console.log("hidden")
      }else{
      console.log("visible");
      }
      }

    • console.log(navigator.geolocation);
      navigator.geolocation.getCurrentPosition(function(position){
      // console.log(position.coords.latitude)
      // console.log(position.coords.longitude)
      //
      console.log(position.coords.latitude,position.coords.longitude)
      },function(error){
      console.log(error.code,error.message)
      });

    navigator.geolocation是一个地理位置对象

    • getCurrentPosition方法,里面接收三个参数,分别是成功回调函数,失败回调函数,可选选项参数

    • 在成功回调函数中,里面接受一个position 参数,该参数有两个属性coords,timestamp

    • 失败回调函数 ,接收一个错误参数,参数有两个属性,message和code,message表示为什么会出错code保存一个数值,错误的类型,
      1用户拒绝共享2.位置无效,3.超时

    • 第三个参数是一个选项对象 ,可配置的选项有enableHighAccuracy,timeout,maximumAge

    • watchPosition()方法,和多次调用getCurrentPosition方法意思基本相同,在第一次调用watchPosition之后会获取位置,执行成功回调或则失败回调,
      然后等待系统发出位置以改变的信号(自己不会轮询位置),可以像清除定时器方法那样使用clearWatch()方法清除

  • 相关阅读:
    电工知识:3种方法测电容的好坏,万用表三个档位的巧妙应用
    ps 教程
    绘声绘影 设置不联网
    推荐.Net、C# 逆向反编译四大工具利器
    MOOC 网站:Coursera、Udacity、edX
    深度强化学习资料(视频+PPT+PDF下载)
    李飞飞、吴恩达、Bengio等人的15大顶级深度学习课程
    tf.name_scope()和tf.variable_scope()
    Linux 进程(一):环境及其控制
    Linux I/O总结
  • 原文地址:https://www.cnblogs.com/cyany/p/8456007.html
Copyright © 2011-2022 走看看