知识点总结

1.使用浏览器的navigator对象判断当前是否是在手机端和微信端

function is_pc(){
    var os = new Array("Android","iPhone","Windows Phone","iPod","BlackBerry","MeeGo","SymbianOS");  
    var info = navigator.userAgent;
    var len = os.length;
    for (var i = 0; i < len; i++) {
        if (info.indexOf(os[i]) > 0){
            return false;
        }
    }
    return true;
}
function isWeixin(){
    var ua = navigator.userAgent.toLowerCase();
    if(ua.match(/MicroMessenger/i) == 'micromessenger'){
        return true; 
    }else{
       return false;
    }
}

2.减少if for在编程中的使用

    1.三元运算符
    2.if分支多的话改用switch
    3.使用短路判断 &&、||
    if(XXX){
         test()
    }
    // 改动后
    XXX && test() 表示如果XXX为真,返回test,否则返回XXX
    
    if(!XXX){
        test()
    }
    // 改动后
    XXX ||  test()表示如果XXX为假,返回test,否则返回XXX

3.按钮闪效果实现

    1.首先画好按钮。
    2.使用before伪元素绘制透明菱形的滑动方块,闪的效果就是来自菱形的移动
    3.使用动画让菱形伪元素移动起来即可
    .first-page .bottom-btn span{
      display: block;
      height:40px;
      line-height:40px;
      overflow: hidden;
      margin:0 9px 0 7px;
      position: relative;
    }
    
    .first-page .bottom-btn  span:before{
      content: ' ';
      position: absolute;
      width:80px;
      height:350px;
      top:0;
      left:-150px;
      transform: skew(-25deg);
      background: linear-gradient(to right,rgba(255,255,255,0) 0,rgba(255,255,255,.5) 50%,rgba(255,255,255,0) 100%);
    }
    @keyframes leftToRight {
      0%{left:-150px;}
      100%{left:250px}
    }

4.transform属性

    transform:rotate3d(x,y,z,d)
    这个比较好理解,3d旋转,4个参数,分别对应x,y,z轴,类型是number,最后一个参数是旋转的角度,最后旋转的角度为x*d,y*d,z*d,所以前面三个参数为1时就正常旋转角度,0时不旋转
    
    transform:perspective
    
    1. perspective属性设置镜头到元素平面的距离。所有元素都是放置在z=0的平面上。比如perspective(300px)表示,镜头距离元素表面的位置是300像素。
    2. perspective-origin属性规定了镜头在平面上的位置。默认是放在元素的中心。


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 本文转发自github, 原文地址 <a name='js'>JavaScript</a> 介绍js的基本数据类型...
    XDUZ阅读 1,072评论 1 11
  • 响应式布局的理解 响应式开发目的是一套代码可以在多种终端运行,适应不同屏幕的大小,其原理是运用媒体查询,在不同屏幕...
    懒猫_6500阅读 806评论 0 0
  • HTML 对html5的理解,web语义话,SEO 页面加载过程 新增API,本地存储,Canvas CSS 经典...
    linwalker阅读 657评论 0 3
  • 本人做php的,最近发现JS真的是博大精深啊,比PHP难.在HTML中,表单是由form元素来表示的,但是在jav...
    linfree阅读 2,235评论 3 17
  • 我们的作品“五花八门”,有航空工具,各式飞机,各样轮船,生活中常见小物品之万花筒,望远镜,天平,称,灯笼,闹钟,自...
    破茧成蝶我最棒阅读 99评论 0 0