详情页
- 多状态拿取,分清状态权重
+ 平级请求数据 - dataHandle.getUserData() --> // 判断是否已申请 dataHandle.isApply() ---> 拿status // 查询试用详情 dataHandle.findIdData(status) --> 渲染数据 // 获取任务 - dataHandle.getTaskData(); + 轮播问题 - 渲染轮播状态 --- swiper.js ---- 容器数据 必须是不能为display: none; - 解决方案:设置visibility: hidden; 先占位 --- 数据来了在显示 - 做文本显示时候,要考虑大屏幕手机、小屏幕手机 容器宽度问题 - 显示一行的时候,单行文本溢出... overflow: hidden; white-space: nowrap; text-overflow: ellipsis; - 多行文本溢出 word-break: break-all; text-overflow: ellipsis; display: -webkit-box; /** 对象作为伸缩盒子模型显示 **/ -webkit-box-orient: vertical; /* 设置或检索伸缩盒对象的子元素的排列方式 */ -webkit-line-clamp: 5; /* 显示的行数 */ overflow: hidden; /* 隐藏超出的内容 */ - 富文本样式控制 包裹容器 设置 position: relative; 防止富文本内容有定位 section { max-width: 100%;//注意和width: 100%;是有很大区别的 } img: { max-width: 100%; } p { max-width: 100%; word-break: break-word; // 控制文本换行 }
- 对于价格样式 ¥00.00 -- 只需要设置.前面的0的字体变大,行高便是以大得为基准
- 对通过 padding 来设置背景图时,一定要留宽度跟图片一样的情况
![1.png](http://upload-images.jianshu.io/upload_images/1518769-d2e5bd289936a3fb.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
如上图,原价和限量部分是百分比控制,右边原来我也是设置`width:33.33%`和`text-align:right`.发现已有部分左边距太大.最后解决方案,已有部分严格控制左边`padding-left`值,向右浮动,`max-width: 37%`;
+ 评分星星
<div class="user-star fleft">
{{if record.comment.score == 5}}
<img class="star-item j-star fleft" src="<%=static_resource_prefix%>/image/mobile/all/star1.png">
<img class="star-item j-star fleft" src="<%=static_resource_prefix%>/image/mobile/all/star1.png">
<img class="star-item j-star fleft" src="<%=static_resource_prefix%>/image/mobile/all/star1.png">
<img class="star-item j-star fleft" src="<%=static_resource_prefix%>/image/mobile/all/star1.png">
<img class="star-item j-star fleft" src="<%=static_resource_prefix%>/image/mobile/all/star1.png">
{{else if record.comment.score == 4}}
<img class="star-item j-star fleft" src="<%=static_resource_prefix%>/image/mobile/all/star1.png">
<img class="star-item j-star fleft" src="<%=static_resource_prefix%>/image/mobile/all/star1.png">
<img class="star-item j-star fleft" src="<%=static_resource_prefix%>/image/mobile/all/star1.png">
<img class="star-item j-star fleft" src="<%=static_resource_prefix%>/image/mobile/all/star1.png">
<img class="star-item j-star fleft" src="<%=static_resource_prefix%>/image/mobile/all/star2.png">
{{else if record.comment.score == 3}}
<img class="star-item j-star fleft" src="<%=static_resource_prefix%>/image/mobile/all/star1.png">
<img class="star-item j-star fleft" src="<%=static_resource_prefix%>/image/mobile/all/star1.png">
<img class="star-item j-star fleft" src="<%=static_resource_prefix%>/image/mobile/all/star1.png">
<img class="star-item j-star fleft" src="<%=static_resource_prefix%>/image/mobile/all/star2.png">
<img class="star-item j-star fleft" src="<%=static_resource_prefix%>/image/mobile/all/star2.png">
{{else if record.comment.score == 2}}
<img class="star-item j-star fleft" src="<%=static_resource_prefix%>/image/mobile/all/star1.png">
<img class="star-item j-star fleft" src="<%=static_resource_prefix%>/image/mobile/all/star1.png">
<img class="star-item j-star fleft" src="<%=static_resource_prefix%>/image/mobile/all/star2.png">
<img class="star-item j-star fleft" src="<%=static_resource_prefix%>/image/mobile/all/star2.png">
<img class="star-item j-star fleft" src="<%=static_resource_prefix%>/image/mobile/all/star2.png">
{{else if record.comment.score == 1}}
<img class="star-item j-star fleft" src="<%=static_resource_prefix%>/image/mobile/all/star1.png">
<img class="star-item j-star fleft" src="<%=static_resource_prefix%>/image/mobile/all/star2.png">
<img class="star-item j-star fleft" src="<%=static_resource_prefix%>/image/mobile/all/star2.png">
<img class="star-item j-star fleft" src="<%=static_resource_prefix%>/image/mobile/all/star2.png">
<img class="star-item j-star fleft" src="<%=static_resource_prefix%>/image/mobile/all/star2.png">
{{else if record.comment.score == 0}}
<img class="star-item j-star fleft" src="<%=static_resource_prefix%>/image/mobile/all/star2.png">
<img class="star-item j-star fleft" src="<%=static_resource_prefix%>/image/mobile/all/star2.png">
<img class="star-item j-star fleft" src="<%=static_resource_prefix%>/image/mobile/all/star2.png">
<img class="star-item j-star fleft" src="<%=static_resource_prefix%>/image/mobile/all/star2.png">
<img class="star-item j-star fleft" src="<%=static_resource_prefix%>/image/mobile/all/star2.png">
{{/if}}
</div>
我竟然写了上面如此无脑的代码,再看下另一种解决方案
<div class="user-star fright">
<span class="star-item j-star fleft {{record.comment.score>=1?'star-on':''}}"></span>
<span class="star-item j-star fleft {{record.comment.score>=2?'star-on':''}}"></span>
<span class="star-item j-star fleft {{record.comment.score>=3?'star-on':''}}"></span>
<span class="star-item j-star fleft {{record.comment.score>=4?'star-on':''}}"></span>
<span class="star-item j-star fleft {{record.comment.score>=5?'star-on':''}}"></span>
</div>
+ 这种方案是定义了两个类,分5个,根据个数来控制 星星显示个数
+ 之前一直怕 用`::after/::before`,以后放心大胆用,先留好改动的余地
+ 上传图片值做好 `width:100%`,不限制高度,不然会图片拉伸
+ 加载动画的逻辑判断一定要明确,在加载数据之前就显示加载动画,回调数据来了之后就关闭加载动画;在数据没有完全加载成功时,先将容器隐藏,数据加载完成后再显示,此处用了轮播插件,`display:none`时会无法拿取dom节点,最终解决办法,设置`visibility:hidden`,这个很重要,也可以全局都设置`visibility:hidden`;
+ 手机端屏幕按钮放大,注意放大点击区域
+ 5. flex布局
- 事件注册
事件注册--深入学习
- 标记变量-全局
用状态变量来控制事件内容执行还是不执行,少用on(),off()来接触事件
- Fiddler 连接手机端页面 测试数据拿取
手机跟电脑接入同一个网段,ipconfig,查到ip,手机端网络长按,修改网络,启用代理,监听网络请求
### 一定要提前布局,提前想好怎么分模块,模块化思想