• 移动端注册页项目总结


    1、 点击其他input框时 手机键盘不消失问题
    document.activeElement // 文档中获得焦点的元素 
    document.activeElement.blur() // 使获得焦点的元素 失焦 键盘收起
    2、 ios加在div上的 click事件不管用,ios中div本身默认不能点击
    解决方案在样式中添加属性cursor:pointer; // 建议使用
    
    
    3、    ios 在滚动到最底部时候 卡住不动问题 
    思路: 当滚动到底部或者顶部的时候 回滚动1像素
    document.getElementById("content").onscroll = function() {
    var viewH = $(this).height();
    var contentH = $(this).get(0).scrollHeight;
    var scrollTop = $(this).scrollTop();
    //滚动到顶部加一像素
    if (scrollTop <= 0) {
    document.getElementById("content").scrollTo(0, scrollTop + 1);
    }
    //滚到底部回一像素
    if (scrollTop + viewH >= contentH) {
    document.getElementById("content").scrollTo(0, scrollTop - 1);
    }
    };
    
    
    4、    ios滑动不流畅 添加css属性
    css: -webkit-overflow-scrolling: touch;
    
    
    5、 点出遮罩层后 后面内容还是可以滑动
    position: absolute; // !! 遮罩隐藏时候 设置回来 position: relative; 否则一直滑不动
    
    
    6、menu在底部设置 position:fixed 以后出现的当键盘弹出 fixed失效 menu会在键盘上方出现
    
    // 判断是安卓还是ios
    var u = navigator.userAgent,
    var isAndroid = u.indexOf("Android") > -1 || u.indexOf("Linux") > -1; //g
    var isIOS = !!u.match(/(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端
    if (isAndroid) {
    // 安卓就监测窗口变化 对menu进行显示隐藏 
    $(document).ready(function() {
    var h = $(window).height();
    $(window).resize(function() {
    if ($(window).height() < h) {
    $(".menu").hide();
    }
    if ($(window).height() >= h) {
    $(".menu").show();
    }
    });
    });
    }
    if (isIOS) {
    // ios 根据失焦和获取焦点进行判断menu显示隐藏
    $(".base_info input").on("focus", function() {
    $(".menu").hide();
    });
    $(".base_info input").on("blur", function() {
    $(".menu").show();
    });
    }
    // 因为安卓没有失焦事件 所以ios用失焦和获取焦点的方法
    // ios各个版本对获取焦点和失去焦点会不会触发resize支持不同 下面链接
    
    
    8、    移动端input屏蔽键盘弹出时,使获取焦点的元素失焦可以做到屏蔽键盘弹出
    $("form").on("focus", "input[name='sort']", function() {
    document.activeElement.blur(); 
    });
    
    
    9、 input 被键盘遮挡 使当前获得焦点的元素 上滚动到顶部解决
    window.onresize = function() { 
    if (
    document.activeElement.className == "i_tlp" ||
    document.activeElement.className == "i_name"
    ) {
    setTimeout(function() {
    // 这个top值是获取焦点元素左上角到顶部的距离
    var top = document.activeElement.getBoundingClientRect().top; 
    window.scrollTo(100, top);
    }, 100);
    }
    };
  • 相关阅读:
    [九、完整项目]31演示用户档案六个功能页面的使用
    [一、基础语法]3ObjectiveC语言的简介
    [一、基础语法]4创建和使用一个最简单的ObjectiveC类
    [一、基础语法]2解析第一个ObjectiveC程序的结构
    [一、基础语法]7基础数据类型之间的转换
    [一、基础语法]1使用模版创建一个空白的Command Line Tool
    [九、完整项目]28完成会员订阅页面的创建
    [一、基础语法]5ObjectiveC语言的基本语法
    [一、基础语法]6ObjectiveC语言的数据类型
    Umi 4 RC 发布
  • 原文地址:https://www.cnblogs.com/whoani/p/11044084.html
Copyright © 2020-2023  润新知