关于H5-CSS3(4)

作者: 洋仔幕落幕合 | 来源:发表于2017-01-16 23:32 被阅读0次

    关于H5-CSS3

    1:CSS3基础运动:transition:1s all ease 2s;

    高级运动

    1:自定动画
    @keyframes test{
        from{}
        to{}
        0%{}
        100%{}
    }
    animation:test linear 1s infinite;
    
    animation-duration:1s;                  运动时间
    animation-name:test;                      名字
    animation-timing-function:linear;        运动形式
    animation-iteration-count:2;              运动次数
            infinite                         无限次数
    animation-delay:2s;                       延迟执行
    animation-play-state:paused;              暂停
    

    animate.css(样式文档)
    文档:http://www.jq22.com/demo/animate-141106223642/

    一些样式库:csdn w3cplus daqianduan

    2:地理信息

    1:移动端的都有:
        社交  微信 微博 陌陌 QQ
        团购  美团 外卖 滴滴 优步
        大数据——分析
    2:定位原理
        phone   GPS
        pc      IP地址
    
    3:获取具体失败原因
        ev.code 错误代码
            0   未知错误
            1   用户拒绝
            2   获取失败    goole api
            3   超时
    
    4:ev.message    错误信息描述
        1.设备是否支持
          if(navigator.geolocation){
            alert('此设备支持');
          }else{
            alert('此设备不支持');
          }
         2.获取位置
        if(navigator.geolocation){
            navigator.geolocation.getCurrentPosition(fn,fn);
        }else{
            alert('此设备不支持');
        }
    
    5:获取信息
        alert(ev.coords);
        alert(ev.coords.longitude);           //经度
        alert(ev.coords.latitude);          //纬度
        alert(ev.coords.accuracy);          //精确度 少于60不可用
        alert(ev.coords.altitude);         //海拔高度
        alert(ev.coords.altitudeAccuracy);    //海拔精确度
        alert(ev.coords.heading);          //朝向
        alert(ev.coords.speed);              //速度
        clearwatch()                         //清除位置
    

    3:百度地图

    http://lbsyun.baidu.com/
    
    百度地图秘钥
        EAc9690e060a06cfe50a260d491afd15
    

    地图JS部分写法:

      window.onload=function (){
      var oBox=document.getElementById('box');
    
    if(navigator.geolocation){
        navigator.geolocation.getCurrentPosition(function (ev){
            //生成地图
            var map=new BMap.Map('box');
            //设置中心点 以及缩放
            var point=new BMap.Point(ev.coords.longitude,ev.coords.latitude);
            
            map.centerAndZoom(point,15);
            
            //添加标注
            var marker=new BMap.Marker(point);
            
            map.addOverlay(marker);
        },function (){
            alert('获取失败');
        });
    }else{
        alert('您的设备不支');
    }
    };      
    

    4:多线程——webWorker

    1:单线程:前一个操作没做完,后一个没发开始
    2:多线程:可以同时进行多个操作
        好处:充分利用cpu资源
    
        主线程:加载页面,渲染,css渲染,jsDOM树生成
    
        子线程:由webWorker创建出,进行一些计算
    
        创建子线程
            var oW=new Worker('文件名');
        给子级传数据
            oW.postMessage(data);
        子级接收数据
            this.onmessage=function (ev){
                ev.data         接收到的数据
                给父级传数据
                this.postMessage(ev.data+5);
            };
        父级接收
            oW.onmessage=function (ev){
                ev.data
            };
        子线程里面不能操以下两个东西
            DOM
            BOM
        子线程里面不能再去创建子线程
        不能跨域
        主线程和子线程之间数据不是共享,每次都是复制一份数据
    
        结束子线程操作:oW.terminate();     
    

    5:webSql ———— 前端数据库

    数据库安全吗? 数据库一点都安全
        webSql数据库 大小5M
    
    1.开启一个数据
    var db=openDatabase(数据库名,数据库版本,数据库描述,数据库申请容量);
    2.开启事务
    事务:原子性
        要么成功,要么失败
    3.SQL语句
        CREATE  //创建
        INSERT  //插入
        SELECT  //删除
    
    4:websql的代码写法如下:
        <script>
        var db=openDatabase('test','1.0.0','play and test',200);
        db.transaction(function (tx){
            //tx    事务上下文
    tx.executeSql('SELECT * FROM news',[],function (tx,result){
        document.write('<ul>');
        for(var i=0; i<result.rows.length; i++){
            document.write('<li><strong>'+result.rows[i].user+'</strong><span>'+result.rows[i].pass+'</span></li>');
        }
        document.write('</ul>');
    },function (tx,err){
        console.log(err);
    });
    });
    </script>
    

    6:重力感应 ————需要在手机端测试

    window.DeviceMotionEvent
    方向有:x轴 y轴 z轴
    window.addEventListener('devicemotion',function (ev){
        var acc=ev.accelerationIncludingGravity;
        acc.x
        acc.y
        acc.z
    },false);
    

    简单的重力感应代码:

    CSS写法代码如下:
          div{ width:200px; height:200px; background:#ccc; position:absolute; left:50%; top:50%; 
                margin:-100px 0 0 -100px; color:#fff; text-align:center; line-height:66px; }    
    JS写法代码如下:   
      window.onload=function (){
          var oDiv=document.getElementById('div1');
          if(window.DeviceMotionEvent){
              window.addEventListener('devicemotion',function (ev){
                  var acc=ev.accelerationIncludingGravity;
                  oDiv.innerHTML='X:'+acc.x+'<br />Y:'+acc.y+'<br />Z:'+acc.x;
              },false);
          }else{
              alert('您的设备不支持重力感应');
          }
      };

    相关文章

      网友评论

        本文标题:关于H5-CSS3(4)

        本文链接:https://www.haomeiwen.com/subject/muapbttx.html