zoukankan      html  css  js  c++  java
  • 移动端开发

     移动端检测

    var sUserAgent = navigator.userAgent.toLowerCase();            
            var bIsIpad = sUserAgent.match(/ipad/i) == "ipad";            
            var bIsIphoneOs = sUserAgent.match(/iphone os/i) == "iphone os";            
            var bIsMidp = sUserAgent.match(/midp/i) == "midp";            
            var bIsUc7 = sUserAgent.match(/rv:1.2.3.4/i) == "rv:1.2.3.4";           
            var bIsUc = sUserAgent.match(/ucweb/i) == "ucweb";            
            var bIsAndroid = sUserAgent.match(/android/i) == "android";           
            var bIsCE = sUserAgent.match(/windows ce/i) == "windows ce";         
            var bIsWM = sUserAgent.match(/windows mobile/i) == "windows mobile";     

    H5监听摇一摇和手机倾斜事件(重力感应)

    监听css3动画结束事件,兼容写法:

    function whichAnimationEvent(){
      var t,
          el = document.createElement("fakeelement");
    
      var animations = {
        "animation"      : "animationend",
        "OAnimation"     : "oAnimationEnd",
        "MozAnimation"   : "animationend",
        "WebkitAnimation": "webkitAnimationEnd"
      }
    
      for (t in animations){
        if (el.style[t] !== undefined){
          return animations[t];
        }
      }
    }
    

      

    qruerySelector 选择器

    在通过DOM的属性进行选择是要加上双引号才能选择到,例如 : document.querySelector('img[alt=1]')  ,这样是会报错的,document.querySelector('img[alt=" 1 "]') ,这样才能选择到。

    document.querySelectorAll 配合ES6的扩展符可以直接获取DOM的数组,而非类数组,要这样写 [...document.querySelectorAll('div')]

    iOS移动端点击阴影如何去除

    *{-webkit-tap-highlight-color: rgba(0,0,0,0);-webkit-tap-highlight-color:transparent;}

    清除input或button的默认样式

    -webkit-appearance: none ;

    手机号验证

    input type=number 在苹果上没效,可以用input type=tel 代替,因为maxlength属性在type=number上是没效的

    不过如果需求更进一步,不准用户输入除数字之外的任何字符,可以加入下面的oninput事件

    <input type="tel" name="phone" maxlength="11" class="phone" oninput="this.value=this.value.replace(/[^0-9.]+/,'');">
    var reg=/^1[3|4|5|8]d{9}$/;  //验证手机的正则

     input 还有一个pattern属性,规定用于验证输入字段的模式。模式指的是正则表达式

    例子:http://www.w3school.com.cn/tags/att_input_pattern.asp

    propertychange 和 input 事件:

    1)propertychange只要当前对象的属性发生改变就会触发该事件

    2)input是标准的浏览器事件,一般应用于input元素,当input的value发生变化就会发生,无论是键盘输入还是鼠标黏贴的改变都能及时监听到变化

    $(function(){ 

        $('#username').bind('input propertychange', function() {  

        $('#result').html($(this).val().length + ' characters');  

      });  

    })  

    这里bind同时绑定了input和propertychange两个方法。

    css3动画停留在完成状态

    animation-fill-mode: forwards;  //在应用动画的元素上加上这个属性,就可以在动画完成后停在结束的状态,不会返回原始状态animation属性之后,不然没效;
    will-change:xxx; //提前告诉浏览器那些属性会发生变化,例如背景色会变,就把xxx写上background,主要作用是优化css的动画或变化效果

    Swiper插件常用属性备忘//初始化

    var mySwiper = new Swiper('.swiper-container',{
    initialSlide :2,    //设定初始化时slide的索引
    autoplay: 5000,//可选选项,自动滑动
    direction : 'vertical',  //轮播方向,horizontal 水平方向(默认)vertical 垂直方向
    speed:300,  //轮播速度
    loop:ture , //循环
    
    pagination : '.swiper-pagination',  //使用分页器
    prevButton:'.swiper-button-prev',
    nextButton:'.swiper-button-next', //使用前进后退按钮
    effect : 'fade', //切换效果 默认为slide
    })
    
    mySwiper.activeIndex  //当前页的索引
       
    /*改变前进后退按钮的样式*/
    <style>
    /*Swiper原样式 */ .swiper-button-next{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E");} /*改变了颜色和加粗的样式*/ .swiper-button-next{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L5%2C44l-4.2-4.2L18.6%2C22L0.8%2C4.2L5%2C0z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E");} </style>
    将swiper对象的显示slider定位到指定的索引
    mySwiper.slideTo(index); 
    
    
    注意:如果swiper-container是设置了display:none;的话,是无法初始化的,如果一定要隐藏的话,要么初始化后再隐藏,要么用别的方法隐藏(opacity:0;之类的),要么在外层在套一层div.                                   
                        

    单选框、复选框与文字垂直居中

    以vertical-align:middle为基础的

    css代码如下:vertical-align:middle; margin-top:-2px; margin-bottom:1px;

    参考: input 对齐

    改变input 的 placehoder 属性的样式

    input::-webkit-input-placeholder { /* WebKit browsers*/ 
      color:#999;font-size:14px;
      }
    input:-moz-placeholder {  /* Mozilla Firefox 4 to 18*/ 
      color:#999;font-size:14px;
      }
    input::-moz-placeholder {  /* Mozilla Firefox 19+*/ 
      color:#999;font-size:14px;
      }
    input:-ms-input-placeholder { /* Internet Explorer 10+*/ 
      color:#999;font-size:14px;
    }

    移动端长按会出现复制黏贴菜单按钮,经过查询资料,解决了此问题;

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    苹果端可以css解决:*{-webkit-touch-callout: none;}

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    安卓端需要添加js解决:

    window.ontouchstart = function(e) { 
    e.preventDefault(); 
    };

    /**
     *禁止出现右键菜单,移动端防止微信长按出现菜单
     *
     */
    function contextmenu(){
        $(document).on('contextmenu', function(e){
            e.preventDefault();
        });
    }



    /**
     *@desc 自动播放音乐(微信端)  安卓和IOS都可以自动播放
     *
     * @param {dom} dom  直接的dom,不是JQ对象
     */
    function autoPlay(dom){
        if(window.WeixinJSBridge){
                WeixinJSBridge.invoke('getNetworkType', {}, function(e) {
                    dom.play();
                }, false);
            }else{
                document.addEventListener("WeixinJSBridgeReady", function() {
                WeixinJSBridge.invoke('getNetworkType', {}, function(e) {
                    dom.play();
                });
            }, false);
        }
    }
    //设置rem  50px
    function setRem() {
        var cw=document.body.clientWidth || document.documentElement.clientWidth;
        document.getElementsByTagName("html")[0].style.fontSize = cw / 7.5 + "px";
    };
  • 相关阅读:
    UML中对关系的描述 (二)
    MDA(模型驱动架构)
    简单工厂模式
    Windows Communication Foundation(WCF) 一步一步从入门到精通
    UML 状态图
    C# 设计模式与重构
    DSM领域定义建模和MDA模型驱动架构分析
    UML 部署图
    UML 活动图
    UML 及其作用
  • 原文地址:https://www.cnblogs.com/haqiao/p/8421685.html
Copyright © 2011-2022 走看看