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

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. LightOJ - 1274 Beating the Dataset —— 期望

    题目链接:https://vjudge.net/problem/LightOJ-1274 1274 - Beating the Dataset    PDF (English) Statistics ...

  2. CSS3文字阴影实现乳白文字效果

    CSS3文字阴影实现乳白文字效果是一款有效利用css3的text-shadow属性,可以实现很多漂亮的效果,CSS3 文字阴影 文字特效,字体效果. 源码下载:http://www.huiyi8.co ...

  3. 自用的弹出窗口jquery插件

    现有网上的弹出窗口插件很多, 但发现在项目应用中总会有些功能不能适用, 最后只好自己写一个:插件主要参考了ymPrompt弹窗代码, ymPrompt是JS的弹窗,本插件相当于是ymPrompt的jq ...

  4. laravel基础课程---11、lavarel的ajax操作(ajax优劣势是什么)

    laravel基础课程---11.lavarel的ajax操作(ajax优劣势是什么) 一.总结 一句话总结: 优势:用户友好度:异步通信,不会频繁刷新页面,用户友好度比较高 优势:减轻数据库压力 缺 ...

  5. 揭秘FaceBook Puma演变及发展——FaceBook公司的实时数据分析平台是建立在Hadoop 和Hive的基础之上,这个根能立稳吗?hive又是sql的Map reduce任务拆分,底层还是依赖hbase和hdfs存储

    在12月2日下午的“大数据技术与应用”分论坛的第一场演讲中,来自全球知名互联网公司——FaceBook公司的软件工程师.研发经理邵铮就带来了一颗重磅炸弹,他将为我们讲解FaceBook公司的实时数据处 ...

  6. jmeter-sampler(取样器)HTTP请求

    名称:用于标识一个sample. 注释:对于测试没任何影响,仅用来记录用户可读的注释信息. 服务名称或IP:http请求发送的目标服务器名称或者IP地址,比如:http://www.baidu.com ...

  7. leetcode 66. Plus One(高精度加法)

    Given a non-negative number represented as an array of digits, plus one to the number. The digits ar ...

  8. css3渐变gradient

    参考: http://www.w3cplus.com/content/css3-gradient

  9. 洛谷P2014——选课

    题目:https://www.luogu.org/problemnew/show/P2014 树状DP,注意枚举当前子树中选几个时的边界. 代码如下: #include<iostream> ...

  10. sql 的基础语句

    USE day15; -- 创建表CREATE TABLE teacher( id INT, NAME VARCHAR(20))-- 查看所有表SHOW TABLES; DESC student; D ...