链家H5项目总结
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了链家H5项目总结,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4767字,纯文字阅读大概需要7分钟。
内容图文
![链家H5项目总结](/upload/InfoBanner/zyjiaocheng/1281/f522b12a9abe4eadaa5b1b0aab16e52f.jpg)
在此次项目中,使用的是高度百分比。对于适配这一块确实少了很多。
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 }); } }
原文:http://www.cnblogs.com/qianduanjingying/p/5287539.html
内容总结
以上是互联网集市为您收集整理的链家H5项目总结全部内容,希望文章能够帮你解决链家H5项目总结所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。