移动端页面已经进行的第三次改版,这个版本遇到的最大难题就是页面跳转的问题。

项目需求: 页面上有分别有优惠估价、我要估价、历史竞拍这三个Tab选项卡,当用户点击估价,选择品牌以后,前端需要去请求品牌接口,获取品牌数据,进一步获取车系和车型。

项目实现:考虑到每个接口之间的数据传递问题。考虑把品牌车型车系的代码全部放在一个页面上。同事首先想到的是使用“前端路由” 这个东西。上网百度百度一下什么是前端路由。(可以读下这篇文字http://www.tuicool.com/articles/N7nAJbi)主要是通过"hash"和 HTML5 的 history API。但是因为项目时间周期比较紧,没有研究出来是怎么实现的。最后还是跟服务端商量,做成了一个独立的页面。通过向地址上添加?id="" 参数的形式获取所有数据。

解决方法优缺点:

1、由于“我要估价”在tab选项的中间。当用户点击品牌估价返回以后页面被刷新顶部,第二种解决方式的缺点在于返回的时候需要把tab选项卡切到 “我要估价”并且将滚动条滚动到“我要估价”的位置。

2、使用前端路由的好处是页面间的返回不会发生跳转。



获取地址?后的一个或者多个参数,可以使用下面这段代码,使用方式:var p = parseUrl(); var id = p.id

    function parseUrl(){
var url = window.location.search; //获取从问号开始的所有字符串
var i = url.indexOf('?'); //查找是否有?
if(i ==-1 ) return {}; //没有就不做任何事情
var querystr = url.substr(i+1); //如果有问号则获取不包括问号以后的所有
var arr1 = querystr.split('&'); //字符串以& 分割为数据
var arr2 = {};
for (i in arr1){
var ta = arr1[i].split('='); //在将每组数据在进行=分割
arr2[ta[0]]=ta[1]; // 获取对应的key 和value
}
return arr2;
}

window.location 的属性和方法



移动端输入框点击会弹出键盘。项目中有一个有悬浮设置为position:fixed的文件,弹出键盘以后导致fixed的失效。这时候可以判断用户获得焦点的时候将浮动的对象位置改为absolute,失去焦点的时候则还原

changePosition(footSaleTel);
function changePosition(obj){
obj.bind('focus', function(event) {
driftPosition.css({"position": "absolute"});
}).bind("blur", function(){
driftPosition.css({"position": "fixed"});
});
}

ios 对按钮聚焦和失去焦点不能使用focus 和 blur事件。考虑使用 touchstart 和 touchend

合并两个对象的值。在jquery 中 可以使用$.extend(a,b); 如果第二个参数的元素在第一个中也有的话,第二个就会覆盖第一个,

var a = {'a':1,'b': 2};

var b = {'a': 2,'c': 3};

var c = $.extend(a, b);

合并两个数组,在jquery 中可以使用$.merge(a,b), 如果两个参数中有相同的部分。则会把相同额部分都罗列出来,可以使用$.unique() 去掉相同的部分。

移动端页面V2.0项目改版总结的更多相关文章

  1. 【Beta】“北航社团帮”测试报告——小程序v2.0与网页端v1.0

    目录 测试计划.过程和结果 后端测试--单元测试与覆盖率 后端测试--压力测试 展示部分数据 平均数据 前端测试--小程序v2.0 授权登录与权限检查 新功能的测试 兼容性测试 性能测试 前端测试-- ...

  2. [Android]Android端ORM框架——RapidORM(v2.0)

    以下内容为原创,欢迎转载,转载请注明 来自天天博客:http://www.cnblogs.com/tiantianbyconan/p/5626716.html [Android]Android端ORM ...

  3. 【Beta】“北航社团帮”发布声明——小程序v2.0与网页端v1.0

    目录 Beta版本新功能 小程序v2.0新功能 新功能列表 功能详情图 新功能动图展示 网页端v1.0功能 登录方式 社团信息的修改 新闻的录入和修改 活动的录入和修改 这一版修复的缺陷 Beta版本 ...

  4. 百度地图V2.0实践项目开发工具类bmap.util.js V1.4

    /** * 百度地图使用工具类-v2.0(大眾版) * * @author boonya * @date 2013-7-7 * @address Chengdu,Sichuan,China * @em ...

  5. angular4.0项目build发布后,刷新页面报错404

    angular4.0项目执行npm run build后,进入页面正常显示. 但是当刷新页面时,报错404,页面未找到. 出现这个问题的原因,应该是找不到路由地址导致的,然后找到了下面的解决方案. 找 ...

  6. Asp.Net Core 2.0 项目实战(11) 基于OnActionExecuting全局过滤器,页面操作权限过滤控制到按钮级

    1.权限管理 权限管理的基本定义:百度百科. 基于<Asp.Net Core 2.0 项目实战(10) 基于cookie登录授权认证并实现前台会员.后台管理员同时登录>我们做过了登录认证, ...

  7. net core体系-web应用程序-4asp.net core2.0 项目实战(1)-13基于OnActionExecuting全局过滤器,页面操作权限过滤控制到按钮级

    1.权限管理 权限管理的基本定义:百度百科. 基于<Asp.Net Core 2.0 项目实战(10) 基于cookie登录授权认证并实现前台会员.后台管理员同时登录>我们做过了登录认证, ...

  8. 错误 : 资产文件“项目\obj\project.assets.json”没有“.NETCoreApp,Version=v2.0”的目标。确保已运行还原,且“netcoreapp2.0”已包含在项目的 TargetFrameworks 中。

    升级 vs201715.6.3之后发布出现 错误 : 资产文件“项目\obj\project.assets.json”没有“.NETCoreApp,Version=v2.0”的目标.确保已运行还原,且 ...

  9. ICG_System之全自动代码生成器V2.0版本

    大家好! 早在2014年本人就已经利用业余时间开发自己的ICG之代码生成器系统.依靠bootstrap的崛起本人也在不断完善此应用.目的是为了减少开发人员的工作量. 减少不必要的复制粘贴操作,该系统已 ...

随机推荐

  1. POJ 1556 The Doors 线段判交+Dijkstra

    The Doors Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 6734   Accepted: 2670 Descrip ...

  2. NYOJ-569最大公约数之和

    题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=569 此题目可以用筛选法的思想来做,但是用到一个欧拉函数 gcd(1,12)=1,gcd( ...

  3. webform repeater

    repeater:由模板构成,解析后模板就不存在了             需要指定数据源进行数据绑定 List<Fruit> list = new FruitDA().Select(); ...

  4. c - 统计字符串"字母,空格,数字,其他字符"的个数和行数.

    #include <stdio.h> #include <ctype.h> using namespace std; /* 题目:输入一行字符,分别统计出其中英文字母.空格.数 ...

  5. mssql定时执行作业。

    ---2000 企业管理器 --管理 --SQL Server代理 --右键作业 --新建作业 --"常规"项中输入作业名称 --"步骤"项 --新建 --&q ...

  6. redis例子

    http://www.cnblogs.com/edisonfeng/p/3571870.html

  7. Java实现断点下载Demo

    //1.声明URL String path="http://localhost:8080/day22_DownLoad/file/a.rmvb"; URL url=new URL( ...

  8. c语言学习,模拟栈操作

    1.stack.c模拟栈操作函数的实现 #include<stdio.h> #include<stdlib.h> ; static char *stack;//数据栈 ;//栈 ...

  9. golang byte转string 字节数组转字符串的问题

    golang语言本身就是c的工具集,开发c的程序用到的大部分结构体,内存管理,携程等,golang基本都有,他只是在这个基础上又加了一些概念这里说一个很小的问题,就是字节数组转string的问题,网上 ...

  10. Linux(Centos)之安装tomcat并且部署Java Web项目(转)

    1.准备工作 a.下载tomcat linux的包,地址:http://tomcat.apache.org/download-80.cgi,我们下载的版本是8.0,下载方式如图:          b ...