在此次项目中,使用的是高度百分比。对于适配这一块确实少了很多。

1、如果是用高度百分比的话。则img需要写成这样的样式。

img{
width:auto;
height:100%;
display: block;
}

如果需要居中的话,可以对外层的div设置一个类名class:比如是setwidth,然后通过js去获取第一张图片的宽度赋给这个外层的div.

setWidth:function(){
$(".setWidth").each(function(index,element){
var width=$(this).find("img").eq(0).width();
$(this).css({"width":width+'px'});
});
},

不过要注意的是如果其他页面是隐藏的话,需要在这个页面显示之后再执行一遍setWidth。不然获取的宽度为0。

还有就是img标签和普通的div有点不同的就是,对于img标签的话,如果要居中,可以不用写宽度,直接定义宽度百分比,然后margin居中,就可以实现居中了。

如:

.img1{
height:39%;
margin:0 auto;
}

现在暂时只发现img有这个特性。

2、移动端的一点问题:

碰到的问题是这样的,在滑动屏幕的时候会闪一下下一页的背景。原因未知,解决办法:

给会闪的这个元素加入一行css代码:

-webkit-backface-visibility:hidden;

比如我出现的是section翻页的时候会闪一下下一页的背景。可以这样做。

section{
display: none;
-webkit-backface-visibility:hidden;
}

还有就是在最后一页的时候,弹出框里面的四个li向后面翻页的时候会抖动一下。

也是这样处理的。

.popcontent li{
width: 25%;
height:100%;
float:left;
position:relative;
-webkit-backface-visibility:hidden;
}

问题是这样解决了。但是为何如此呢???

W3C是这样定义-webkit-backface-visibility:hidden;的

Problematic in WebKit because backface-visibility not hidden

3、js:

在用zepto的animate函数的时候,因为用了回调,导致回调函数半天出不来,执行的非常慢。原因未知。但是如果是这样的话,可以不使用回调函数。

原来执行回调很慢的js代码:

popfn:{
close:$('.closed'),
open:$('.p6_lj'),
length:$('.popcontent li').length,
width:$('.popcontent li').width(),
popli:$('.popcontent li'),
page_current:$('.page_current'),
dotli:$('.dot li'),
init:function(){
var close = s.popfn.close;
var open = s.popfn.open;
close.on('tap',s.popfn.closed);
open.on('tap',s.popfn.opened);
s.popfn.popLRbind();
},
closed:function() {
$(this).parents('.pop').hide();
s.sec.on({
'swipeLeft':s.swipeLeft,
'swipeRight':s.swipeRight
});
},
opened:function() {
s.sec.off({
'swipeLeft':s.swipeLeft,
'swipeRight':s.swipeRight
});
$(this).parents('.wrap').next().show();
},
popSwipeLeft:function(){
var current = $('.page_current').index();
var length = s.popfn.length;
var page_current = s.popfn.page_current;
var popli = s.popfn.popli;
var dotli = s.popfn.dotli;
if(current<length-1&&s.flag){
s.flag=false;
var translate = -(current+1)*25;
$('.popcontent ul').animate({'-webkit-transform':'translateX('+translate+'%)'},800,'ease-in-out',function(){
console.log(1);
popli.eq(current).removeClass('page_current').next().addClass('page_current');
dotli.eq(current).removeClass('active').next().addClass('active');
s.flag=true;
});
}else{
return;
}
},
popSwipeRight:function(){
var current = $('.page_current').index();
var length = s.popfn.length;
var popli = s.popfn.popli;
var dotli = s.popfn.dotli;
if(current>0&&s.flag){
s.flag=false;
var translate = -(current-1)*25;
$('.popcontent ul').animate({'-webkit-transform':'translateX(' + translate + '%)'},800,'ease-in-out',function(){
popli.eq(current).removeClass('page_current').prev().addClass('page_current');
dotli.eq(current).removeClass('active').prev().addClass('active');
s.flag=true;
});
}else{
return;
}
},
popLRbind:function(){
s.popfn.popli.on({
'swipeLeft':s.popfn.popSwipeLeft,
'swipeRight':s.popfn.popSwipeRight
});
}
}

后面改了之后的就正常了。

popfn:{
close:$('.closed'),
open:$('.p6_lj'),
length:$('.popcontent li').length,
popli:$('.popcontent li'),
page_current:$('.page_current'),
dotli:$('.dot li'),
init:function(){
var close = s.popfn.close;
var open = s.popfn.open;
close.on('tap',s.popfn.closed);
open.on('tap',s.popfn.opened);
s.popfn.popLRbind();
},
closed:function() {
$(this).parents('.pop').css('display','none');
s.sec.on('swipeRight',s.swipeRight);
},
opened:function() {
s.sec.off('swipeRight',s.swipeRight);
$(this).parents('.wrap').next().css('display','block');
},
popSwipeLeft:function(){
var current = $('.page_current').index();
var length = s.popfn.length;
var page_current = s.popfn.page_current;
var popli = s.popfn.popli;
var dotli = s.popfn.dotli;
if(current<length-1&&s.flag){
s.flag=false;
var translate = -(current+1)*25;
$('.popcontent ul').animate({'-webkit-transform':'translate3d('+translate+'%,0,0)'},800);
popli.eq(current).removeClass('page_current').next().addClass('page_current');
dotli.eq(current).removeClass('active').next().addClass('active');
s.flag=true;
}
},
popSwipeRight:function(){
var current = $('.page_current').index();
var length = s.popfn.length;
var popli = s.popfn.popli;
var dotli = s.popfn.dotli;
if(current>0&&s.flag){
s.flag=false;
var translate = -(current-1)*25;
$('.popcontent ul').animate({'-webkit-transform':'translate3d(' + translate + '%,0,0)'},800);
popli.eq(current).removeClass('page_current').prev().addClass('page_current');
dotli.eq(current).removeClass('active').prev().addClass('active');
s.flag=true;
}
},
popLRbind:function(){
s.popfn.popli.on({
'swipeLeft':s.popfn.popSwipeLeft,
'swipeRight':s.popfn.popSwipeRight
});
}
}

链家H5项目总结的更多相关文章

  1. Python爬虫项目--爬取链家热门城市新房

    本次实战是利用爬虫爬取链家的新房(声明: 内容仅用于学习交流, 请勿用作商业用途) 环境 win8, python 3.7, pycharm 正文 1. 目标网站分析 通过分析, 找出相关url, 确 ...

  2. 分享系列--面试JAVA架构师--链家网

    本月7日去了一趟链家网面试,虽然没有面上,但仍有不少收获,在此做个简单的分享,当然了主要是分享给自己,让大家见笑了.因为这次是第一次面试JAVA网站架构师相关的职位,还是有些心虚的,毕竟之前大部分时间 ...

  3. Scrapy实战篇(一)之爬取链家网成交房源数据(上)

    今天,我们就以链家网南京地区为例,来学习爬取链家网的成交房源数据. 这里推荐使用火狐浏览器,并且安装firebug和firepath两款插件,你会发现,这两款插件会给我们后续的数据提取带来很大的方便. ...

  4. 链家web前端面试

    共有三轮面试,每个面试官的第一个问题都是:介绍一个你觉着比较出彩的项目 第一轮面试: 因为公司项目没什么亮点,很传统的pc端,美女面试官就说让讲一下我用react的私人项目; 问了很多都是关于reac ...

  5. python抓取链家房源信息(二)

    试着用scrapy将之前写的抓取链家网信息的重新写了写 然后先是用了第一页的网页作为测试,调试代码,然后发现总是抓取的时候遇见了 类似于这样的问题,并且抓取不到信息 2017-03-28 17:52: ...

  6. Pyspider爬虫简单框架——链家网

    pyspider 目录 pyspider简单介绍 pyspider的使用 实战 pyspider简单介绍 一个国人编写的强大的网络爬虫系统并带有强大的WebUI.采用Python语言编写,分布式架构, ...

  7. Hawk 1.1 快速入门(链家二手房)

    链家的同学请原谅我,但你们的网站做的真是不错. 1. 设计网页采集器 我们以爬取链家二手房为例,介绍网页采集器的使用.首先双击图标,加载采集器: 在最上方的地址栏中,输入要采集的目标网址,本次是htt ...

  8. H5项目常见问题汇总及解决方案(果断复制粘贴,不解释)

    H5项目常见问题及注意事项 Meta基础知识: H5页面窗口自动调整到设备宽度,并禁止用户缩放页面 //一.HTML页面结构 <meta name="viewport" co ...

  9. 如何开发H5项目 -- 入门篇

    前言 H5即HTML5,H5开发具有低成本.高效率.跨平台.研发周期短,用户接触成本低等特性. 一.开发环境 在开发一个H5项目之前,需要先搞好环境.主要有node.npm.gulp.bower.下面 ...

随机推荐

  1. 吴恩达机器学习笔记(十二) —— Application Example: Photo OCR(完)

    主要内容: 一.Photo OCR 二.Getting lots of data:artificial data synthesis 三.Ceiling analysis 一.Photo OCR Ph ...

  2. 【LeetCode】求众数

    给定一个大小为 n 的数组,找到其中的众数.众数是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素. 你可以假设数组是非空的,并且给定的数组总是存在众数. class Solution(object): ...

  3. ASP.NET MVC3中的路由系统

    MVC中,用户访问的地址并不映射到服务器中对应的文件,而是映射到对应Control里对应的ActionMethod,由ActionMethod来决定返回用户什么样的信息.而把用户访问的地址对应到对应的 ...

  4. hello vue不显示

    本身是做java后端开发的,但对任何技术都感兴趣.于是尝试了下最近国内比较火的vue框架. 在使用官网的例的时候子就卡壳了,写了个html,第一个Hello VUE!就是出不来,只显示{{messag ...

  5. ARP之windows下的ARP命令

    ARP之windows下的ARP命令 arp -a 查看当前电脑上的ARP映射表.可以看到当前的ARP的映射关系是动态的还是静态的. arp -s w.x.y.z aa-bb-cc-dd-ee-ff ...

  6. JS工具函数汇总

    备注:http://phpjs.org/  这个站点把PHP常用的方法用js实现了,推荐一下 1.从数组中随机获取几个不重复项 //从一个给定的数组arr中,随机返回num个不重复项 function ...

  7. MCI支持的格式在注册表中的位置

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion

  8. [转]深入了解 CSS3 新特性

    简介 CSS 即层叠样式表(Cascading Stylesheet).Web 开发中采用 CSS 技术,可以有效地控制页面的布局.字体.颜色.背景和其它效果.只需要一些简单的修改,就可以改变网页的外 ...

  9. BZOJ1861:[ZJOI2006]书架

    浅谈\(splay\):https://www.cnblogs.com/AKMer/p/9979592.html 浅谈\(fhq\)_\(treap\):https://www.cnblogs.com ...

  10. bzoj 1004 Cards & poj 2409 Let it Bead —— 置换群

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1004 关于置换群:https://www.cnblogs.com/nietzsche-oie ...