【H5开发】01从一个简单页面带你体验H5开发 ~ 从静态页面到调接口手把手教学整个页面实现过程

您所在的位置:网站首页 h5网页技术 【H5开发】01从一个简单页面带你体验H5开发 ~ 从静态页面到调接口手把手教学整个页面实现过程

【H5开发】01从一个简单页面带你体验H5开发 ~ 从静态页面到调接口手把手教学整个页面实现过程

2024-07-12 05:51| 来源: 网络整理| 查看: 265

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)

}

}

});

});

至此,我们就完成了这个简单的通知列表功能,是不是很清晰啦!效果如下

下一节,我们将讲解一个稍微复杂的包含查询的功能,不过其实大同小异,思路也是一样的 【H5开发】从一个简单页面带你体验H5开发 ~ 从静态页面到调接口手把手教学整个页面实现过程 https://blog.csdn.net/Sabrina_cc/article/details/119865234 【H5开发】02手把手带你开发H5列表页面 ~ 包含查询、重置、提交功能https://blog.csdn.net/Sabrina_cc/article/details/119888243

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。 img img img img img img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024c (备注前端) img

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开源项目:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

讲解视频,并且后续会持续更新**

如果你觉得这些内容对你有帮助,可以添加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