【H5开发】01从一个简单页面带你体验H5开发 ~ 从静态页面到调接口手把手教学整个页面实现过程 |
您所在的位置:网站首页 › h5网页技术 › 【H5开发】01从一个简单页面带你体验H5开发 ~ 从静态页面到调接口手把手教学整个页面实现过程 |
font-size: 0.3rem; justify-content: space-between; align-items: center; height: 0.89rem; line-height: 0.89rem; padding-left: 0.32rem; padding-right: 0.4rem; } .noticeDiv { width: 7.11rem; height: 2.88rem; margin: 0 auto; margin-top: 0.3rem; border-radius: 0.1rem; background-color:#ffffff; padding-top: 0.31rem; padding-bottom: 0.35rem; } .hpVertical { width: 6.48rem; height: 1px; opacity: 1; background: #d2d2d2; margin: 0 auto; } .divTitle { opacity: 1; font-size: 0.30rem; font-weight: 400; text-align: left; color: #2c2c2c; line-height: 0.60rem; padding-left: 0.28rem; } .divContent { /* width: 6.56rem; */ height: 1.73rem; opacity: 1; font-size: 0.30rem; font-weight: 400; text-align: left; color: #727272; line-height: 0.48rem; padding-left: 0.28rem; padding-right: 0.27rem; } .allDiv { width: 7.11rem; margin: 0 auto; margin-top: 0.3rem; border-radius: 0.1rem; background-color:#ffffff; } 5. 功能实现 对照接口可以看到,我们请求是POST方法,请求数据包含 pageNum和pageSize,而获取到的数据很多,我们可以只使用title content即可。 (1)定义全局变量 var pageNum = 1; //默认是从第一页开始访问 var pageSize = pageSizeGlobal; //默认一页访问的条数 var isMore = false; //控制翻页 getList(pageNum, pageSize); (2) 编写方法,获取页面初始数据: // 获取数据列表函数 function getList(pageNum, pageSize) { console.log(“getlist”) $.ajax({ type: “post”, url: urlGlobal + “/api/h5/sys/notice/self/page”, async: true, dataType: “json”,//后台返回值类型 contentType: “application/json;charset=utf-8”, //如果提交的是json数据类型,则必须有此参数,表示提交的数据类型 async: false,//异步请求 data: JSON.stringify({ pageNum: pageNum, pageSize: pageSize, }), headers: { ‘Authorization’: 'Bearer ’ + window.localStorage.getItem(“token”) }, success: function (data) { if (data.code === 200) { //做分页的特殊处理 console.log(data) total = data.data.totalCount; //总 pades = data.data.totalPage; //总页数 //isMore,当不是最后一页的时候,为ture,若是最后一页,则为false if (data.data.currPage < data.data.totalPage) { isMore = true; } if (data.data.currPage === data.data.totalPage) { isMore = false; } //如果总个数===0,做暂无数据的处理。 if (data.data.totalCount == 0) { //需要重新清空数据再填入 $(“#allContent”).empty(); $(“#allContent”).append(“暂无内容”); } else { for (var i = 0; i < data.data.list.length; i++) { $(“#allContent”).append(strlistDom(data.data.list[i])) } //当前是最后一页的时候增加全部加载完毕的提示语 if (data.data.currPage === data.data.totalPage) { $(“#allContent”).append(“ 数据加载完毕 ”);} } }else { alertGlobal(data.message, 3000, true) } } }); } (3)测试接口是否已通 打开浏览器开发者工具F12在network-XHR可以看到请求情况为200,并且返回了两条数据。 (4)将接口返回的数据显示到页面上。 我们刚才在HTML中写死了假数据,但是拿到接口后的数据需要逐条渲染到页面上面,因此我们注释掉之前的假数据部分,并添加一个id和class都为allContent的Div方便我们接下来渲染数据。 其实 $(“#allContent”).append(strlistDom(data.data.list[i])) 就是在做这件事情 function strlistDom(data) { var str = “ ”+“ ”+ data.title + “ ” +“ ” + data.content + “ ”return str; } 在strListDom函数中拼接刚才注释的部分代码,并替换掉文字为 接口返回的数据字段。 append就是把每次拿到的数据渲染到allContent中去 (5)页面滚动翻页 //当滚动条滚动的时候,进行数据分页加载 $(window).scroll(function () { $(“.content_1”).each(function () { var scrollTop = this.scrollTop || document.body.scrollTop || document.documentElement.scrollTop; if (scrollTop + window.innerHeight + 20 >= this.offsetHeight) { if (isMore) { isMore = false; pageNum++; year = $(“#yearInit”).val() ? yearInitGlobal : $(“#year”).html(); jidu = KaTeX parse error: Expected 'EOF', got '#' at position 3: ("#̲jiduInit").val(…(“#jidu”).html()); getList(year, jidu, pageNum, pageSize) } } }); }); 至此,我们就完成了这个简单的通知列表功能,是不是很清晰啦!效果如下
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。 深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前! 因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。 既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化! 由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新 如果你觉得这些内容对你有帮助,可以添加V获取:vip1024c (备注前端) 相同 1)vitual dom 2)组件化 3)props,单一数据流 不同点 1)react是jsx和模板;(jsx可以进行更多的js逻辑和操作) 2)状态管理(react) 3)对象属性(vue) 4)vue:view——medol之间双向绑定 5)vue:组件之间的通信(props,callback,emit) CodeChina开源项目:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】 讲解视频,并且后续会持续更新** 如果你觉得这些内容对你有帮助,可以添加V获取:vip1024c (备注前端) [外链图片转存中…(img-Ie2BLYi4-1712035030652)] react和vue的比较相同 1)vitual dom 2)组件化 3)props,单一数据流 不同点 1)react是jsx和模板;(jsx可以进行更多的js逻辑和操作) 2)状态管理(react) 3)对象属性(vue) 4)vue:view——medol之间双向绑定 5)vue:组件之间的通信(props,callback,emit) CodeChina开源项目:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】 [外链图片转存中…(img-QthaeNOG-1712035030653)] |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |