使用jq实现简单的弹出层注册逻辑
data:2018/5/24 1.0 初稿 author:**
开发时间:2018-05-29--2018-06-01
需求背景通过h5活动进行各渠道推广,引导用户注册
功能点概要 对象各渠道推广,吸引有创业意向的用户 用户流程用户h5页浏览创业信息,注册成功后给予知识库文件资料 功能点涉及功能点包括注册模块、短信发送密码及推广渠道区分 原型地址 ** 详情需求 活动信息展示页图一:页面逻辑
首次进入h5页面,点击“免费领取”按钮 跳转至“图二”弹出框;
用户注册成功至结果页需前端缓存时间24时(用户手动冲出缓存不考虑),即24时内关闭 再次访问h5页面点击“点击获取”时直接进入结果页。 【交互形式】
触屏从上到下滑动
“获取创业礼包”按钮屏幕下方固定。
活动注册弹框
图二:页面逻辑
手机号注册逻辑(判断逻辑参照客户端注册流程)
【前置条件】
1.手机号的格式:支持开头为 13、14、15、17、18 、19、16的 11 位手机号码;
2.用户判断
2.1 未注册用户首次通过手机号获取动态密码则视为注册成功;同时未注册用户首次获取动态码时会接收到两条短信,一条是验证码,一条是初始密码;
2.2 已注册过用户手机号,仅发送验证码。
【注册逻辑】
1.点击“获取验证码”判断手机号
if 手机号是否为空,是则提示:手机号不能为空 if 否,则判断是否正确 if 否,则提示:请输入正确的手机号 if 是,则下发短信验证码。按钮在 1 分钟内显示 60s 倒计时,超过 1分钟则 重新获取。
2.默认“注册提交”置灰状态,当手机号和验证码位数正确则高亮展示可点击。
3.点击“注册提交”判断
if 先判断手机号或验证码是否正确,否 则提示:请输入正确的手机号/验证码有误,请重新输入
if 是,则弹出领取结果页面。
4. 网络等异常情况,则提示:网络异常,请稍后再试。
5. 其他安全规则或异常账户,开发时需适当考虑。
初始密码短信内容 【公司名称】感谢注册。。账户,初始随机密码:xxxxxxx,请及时登录。。。app账号管理中修改密码。
活动结果弹框图三:页面逻辑
点击“了解更多创业知识”进入客户端下载页面
技术栈移动端活动页面,考虑兼容各个手机浏览器,所以选用的框架是原生JS和JQuery,结构为单页面链接,弹出层结构,弹出层切换;
遇到很多兼容性问题
禁止手机浏览页面双击图片放大问题<meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,minimum-scale=1.0,user-scalable=no,viewport-fit=cover">
//其中 viewport-fit=cover属性可以适配iphoneX
input的placeholder属性不兼容(部分浏览器下方字体被切掉了),设置input高、行高都不生效; 原因:input框内设置font-size字体大小导致;解决方法:js模拟placeholder属性实现功能(封装了一个方法)。
function checkValue(obj,tipText){
obj.focus(function(){
if( obj.val()== tipText ){
obj.val("");
}
});
obj.blur(function(){
if( obj.val()=="" ){
obj.val(tipText);
}
});
if( $.trim( obj.val() )=="" ){
obj.val(tipText);
}
}
checkValue($(".mobile"),'手机号');
checkValue($(".vercode"),'验证码');
button按钮内部字体,在部分Android手机中,字体偏上;原因:button按钮内部字体默认就是居中,再特意设置line-height导致,line-height在Android手机中,容易出现此类问题;解决方法:去掉line-heiht属性。
百度浏览器在识别显示隐藏属性时,jq使用obj.css("display","none")来控制。
Android手机自带浏览器,不识别ajax es6 对象简写、function(){}写法。
华为自带浏览器,a标签的text-decoration:underline; 不显示,overline是显示的,其余浏览器都没问题
给input的height设定一个较小的高度,然后用padding去填充,基本上可以解决所有浏览器的问题
input{
height: 16px;
padding: 4px 0px;
font-size: 12px;
}
首先布局的话应该是3个div绝对定位,根据z-index判断显示层级
由于是追求性能的移动端,动画用css3的transition:transform,简单又快,通过设置transform的scale和translate来改变位置和大小
事件上需要对手势进行判断,得到向左还是向右,判断变化后图片的z-index,高宽和位置。修改transform的scale和translate即可
版权声明:
1、该文章(资料)来源于互联网公开信息,我方只是对该内容做点评,所分享的下载地址为原作者公开地址。2、网站不提供资料下载,如需下载请到原作者页面进行下载。