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

项目需求: 页面上有分别有优惠估价、我要估价、历史竞拍这三个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. Linux下python升级

    Centos即使用Yum更新也是Python2.6.6所以需要升级到Python2.7.8 1.先下载源码包 1 wget https://www.python.org/ftp/python/2.7. ...

  2. GSON 简介 示例

    Gson简介 目前解析json最常用的三种工具:org.json(Java常用的解析),fastjson(阿里巴巴出的),Gson(Google出的),解析速度最快的是Gson. Gson的全名为Go ...

  3. 【转】Android开源项目 分类 便于查看

    之前转载了一个开源项目的文章,发现那些都是没有系统的总结,这里又转载一篇有系统总结的文章. Android开源项目系列汇总已完成,包括: Android开源项目第一篇——个性化控件(View)篇 An ...

  4. 《CSS网站布局实录》学习笔记(五)

    第五章 CSS内容排版 5.1 文字排版 5.1.1 通栏排版 进行网页通栏排版时,只要直接将段落文字放置于p或者其他对象中,再对段落文字应用间距.行距.字号等样式控制,便形成了排版雏形. 5.1.2 ...

  5. vsftp关于"550 create directory operation failed"问题解决

    前提: 昨天晚上配置好了vsftp, 但登陆后,除了浏览,什么也干不了.(如新建文件/文件夹, 删除文件, 重命名等都不可操作) 都是弹出 "550 create directory ope ...

  6. Win8 IE10 只能以管理员打开的解决方法

    Win8 IE10 只能以管理员打开的解决方法 使用 Windows8 一段时间后,最近遇到 IE10 打不开,只能以管理员身份打开,很是郁闷.无论禁用IE加载项还是恢复默认设置都无效,也看到论坛不少 ...

  7. UIVIew之霓虹灯实现

    // // AppDelegate.m // NiHongPractice // #import "AppDelegate.h" #define kColorValue arc4r ...

  8. ajaxfileupload

                 }         }                              setTimeout(                              }, s. ...

  9. 武汉科技大学ACM:1008: 零起点学算法64——回型矩阵

    Problem Description 输出n*m的回型矩阵 Input 多组测试数据 每组输入2个整数 n和m(不大于20) Output 输出n*m的回型矩阵,要求左上角元素是1,(每个元素占2个 ...

  10. STL删除vector或list的方法及注意的问题

    删除vector中的元素 1.删除指定的所有对象 STL中remove()只是将待删除元素之后的元素移动到vector的前端,而不是删除.若要真正移除,需要搭配使用erase().例子: vector ...