链家H5项目总结
在此次项目中,使用的是高度百分比。对于适配这一块确实少了很多。
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
- -webkit-backface-visibility: 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项目总结的更多相关文章
- Python爬虫项目--爬取链家热门城市新房
本次实战是利用爬虫爬取链家的新房(声明: 内容仅用于学习交流, 请勿用作商业用途) 环境 win8, python 3.7, pycharm 正文 1. 目标网站分析 通过分析, 找出相关url, 确 ...
- 分享系列--面试JAVA架构师--链家网
本月7日去了一趟链家网面试,虽然没有面上,但仍有不少收获,在此做个简单的分享,当然了主要是分享给自己,让大家见笑了.因为这次是第一次面试JAVA网站架构师相关的职位,还是有些心虚的,毕竟之前大部分时间 ...
- Scrapy实战篇(一)之爬取链家网成交房源数据(上)
今天,我们就以链家网南京地区为例,来学习爬取链家网的成交房源数据. 这里推荐使用火狐浏览器,并且安装firebug和firepath两款插件,你会发现,这两款插件会给我们后续的数据提取带来很大的方便. ...
- 链家web前端面试
共有三轮面试,每个面试官的第一个问题都是:介绍一个你觉着比较出彩的项目 第一轮面试: 因为公司项目没什么亮点,很传统的pc端,美女面试官就说让讲一下我用react的私人项目; 问了很多都是关于reac ...
- python抓取链家房源信息(二)
试着用scrapy将之前写的抓取链家网信息的重新写了写 然后先是用了第一页的网页作为测试,调试代码,然后发现总是抓取的时候遇见了 类似于这样的问题,并且抓取不到信息 2017-03-28 17:52: ...
- Pyspider爬虫简单框架——链家网
pyspider 目录 pyspider简单介绍 pyspider的使用 实战 pyspider简单介绍 一个国人编写的强大的网络爬虫系统并带有强大的WebUI.采用Python语言编写,分布式架构, ...
- Hawk 1.1 快速入门(链家二手房)
链家的同学请原谅我,但你们的网站做的真是不错. 1. 设计网页采集器 我们以爬取链家二手房为例,介绍网页采集器的使用.首先双击图标,加载采集器: 在最上方的地址栏中,输入要采集的目标网址,本次是htt ...
- H5项目常见问题汇总及解决方案(果断复制粘贴,不解释)
H5项目常见问题及注意事项 Meta基础知识: H5页面窗口自动调整到设备宽度,并禁止用户缩放页面 //一.HTML页面结构 <meta name="viewport" co ...
- 如何开发H5项目 -- 入门篇
前言 H5即HTML5,H5开发具有低成本.高效率.跨平台.研发周期短,用户接触成本低等特性. 一.开发环境 在开发一个H5项目之前,需要先搞好环境.主要有node.npm.gulp.bower.下面 ...
随机推荐
- matlab的调试
MATLAB(1)——基本调试方法(Debug) 链接:http://www.cnblogs.com/xingshansi/articles/6477185.html 前言 之前经 ...
- matlab之find()函数
Find 这个函数用处也挺大的,这几天看很多程序都见到这一函数,今天要好好给阐述,了解下这个函数是为了找到矩阵或者是数组,向量中的非零元素.下面一大段英文没耐心看.看看例子就行了. 第一个用法是 nd ...
- 高效上网教程---资源软件搜索技巧(搜索好用软件或者app去哪些网站)
高效上网教程---资源软件搜索技巧(搜索好用软件或者app去哪些网站) 一.总结 一句话总结:查看下面这些网站用户推荐的 知乎:比如 小众软件 site:zhihu.com 简书:查看你需要的用户推荐 ...
- bzoj 3685
线段树 方法一: 值域线段树,递归去写的,每次节点存出现次数. 对于几个操作, 1,2 直接加减就好 ; 3,4 操作贪心往某一个方向找 .7也很简单,主要说前驱后继怎么找.我是先找这个数第几小,根据 ...
- storm源码剖析(3):topology启动过程
storm的topology启动过程是执行strom jar topology1.jar MAINCLASS ARG1 ARG2 鉴于前面已经分析了脚本的解析过程,现在重点分析topology1.ja ...
- BZOJ-3940:Censoring(AC自动机裸题)
Farmer John has purchased a subscription to Good Hooveskeeping magazine for his cows, so they have p ...
- jdbc代码
1.jdbcutiul的代码, package gz.itcast.util; import java.io.InputStream; import java.sql.Connection; impo ...
- lwip【6】LWIP使用经验
LWIP使用经验 一 LWIP内存管理 LWIP的内存管理使用了2种方式:内存池memp和内存堆mem,如图1所示. 内存池的特点是预先开辟多组固定大小的内存块组织成链表,实现简单,分配和回收速度快, ...
- git简单获取远程某个分支代码命令
git clone resource.git git branch -a list all the local and remote branches git checkout [remote bra ...
- 【238】◀▶IEW-Unit03
Unit 3 Media 柱状图 1.图片及model1分析 The graph below contains information about the average science test s ...