「文经课表」当日课表界面实现方法

前言

先简单介绍一下「文经课表」:基于微信小程序MINA框架的WXML、WXSS、JS为代码语言进行开发,视图层采用Flex弹性布局,逻辑层采用模块化模式开发。发布一周累计用户人数1000+,烟台大学文经学院、烟台大学文经学院学生会等官方微信公众号主动关联小程序,更多介绍:https://lab.sangsir.com/kb/

today-timetable
today-timetable

为什么要单独说这个界面的实现方法,其实这与课表数据是分不开的。好,装逼完成,开始说一下当日课表界面的实现方法。

分析

json
json

先看一下我处理的课表数据,这是一个由上到下,由左到右进行的分组。每一大节课为1个数组,数组内包含8个数组,里面包含星期一到星期日的两小节的课程内容。嗯,有点绕,总之这样写有利于for循环出当日课表。
因此这样一个for循环出来之后的数据是无法使用css选择器直接控制格式,可以看一下直出后的效果。
step1-1
step1-1
step1-2
step1-2

所有内容都挤在了一行之中,那该怎么办?这样也未免太不注重用户体验了吧?每循环一次加一个<br>总可以了吧?不不不,前言中说了,微信小程序中的代码语言为WXML、WXSS、JS,意味着这并不是一个HTML页面,<br>标签并不存在。

解决

既然如此,先看一下输出规律。每一大节课包含8个数组,数组内包含两小节的课程内容,第一行的课程内容为课题,那么就简单了!可以每隔4个数组将显示出的标题加一个bold属性进行突出显示。

<block wx:if="{{i[index][k]!==null}}">
  <text class="weui-media-box__Bold" wx:if="{{index % 4 == 0}}">
    {{i[index][k]}}\n
  </text>
  <text wx:else>
    {{i[index][k]}}\n
  </text>
</block>

因为有了{{index % 4 == 0}}的每隔四行加上bold属性与<text>中的\n换行符,便能将课题和其他内容区分开来,实现标题突出显示的功能,看下图效果。

step2
step2

优化

emmm...不错,但总感觉看起来找不到关键信息?或者关键信息有些少?我们看当日课表要看的是什么来着?第几节课+上什么课+上课地点,对吧!
第几节课用符合小程序开发的主题色高亮显示了,上什么课也用加粗标注出来了,那么地点在标题下面看起来感觉好累啊!因为人眼已经将目光直接投射在了你所要关注的点上面了,这些关键点都已经用不同的方式凸显出来方便一眼看到,然而上课地点并没有安排在合适的地方一眼看到,毕竟这也是所要看到的关键信息之一,因此需要把它也凸显一下,我们把它放到右边如何?

step4-1
step4-1

用开发者工具将这一段加上float: right,嗯,不错,这样效果就好多了,突出但不喧宾夺主,符合用户体验。那么……该怎么实现?聪明的你一定会想到刚刚提到的每隔N行加一个css属性,不过多个if可不是好现象,小程序设计指南中可是指出小程序要“减少等待,反馈及时”,既然我们的大标题已经有了bold属性,大标题的下一行就是上课地点,那能不能在css中动一下手脚?
在翻css手册时我便看到了一个实现方法:CSS 相邻兄弟选择器
step4-2
step4-2

怎么说?是不是很有趣?只能说我需要把前端方面的手册发送到kindle啃上几遍。
ok,有了这个相邻兄弟选择器那就简单多了,完成之后的效果图则是前言中的附图了。

总结

一入前端深似海,此时不啃基础何时啃,文章干货不多,更多的是思路,希望以后多挖几个坑提升一下自己的技术。
[图片上传失败...(image-3c5eff-1521116801351)]

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 昨天破天荒的和姐姐嫂嫂逛街,姐嫂二人也各自看中了一件衣服, 由于价格款式没有成交,我提议让他们多转转给自己买一...
    茶话心语阅读 681评论 0 0
  • 哦,不,我不写诗 除非在坛子被打翻的时候 除非盐和糖结了块 天知道还有什么东西 能让幻象变成影子 她就在那里 用许...
    夜谷阅读 1,679评论 0 1
  • (1) 《暴雪将至》是11月17日在国内上映的电影,段奕宏、江一燕主演,影片讲述了1997年,人称“余神探”的工厂...
    蓝刀倾城阅读 3,570评论 0 1
  • 秋叶簌簌落下, 微风轻轻荡漾。 这悲情的代表, 为古今留下多少沧桑。 秋风学会了歌舞, 再也变不成刀锋。 落叶不会...
    阳阳_eaa6阅读 1,657评论 0 1

友情链接更多精彩内容