WEB开发者之混合开发APP(九), 商城案例--商城分类页(products.html)

本文主要是介绍WEB开发者之混合开发APP(九), 商城案例--商城分类页(products.html),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

由商城首页shop.html,进入商城分类页products.html的方法,已经在上一篇博文中说过,核心代码如下:

//获取商品分类id
var id = this.getAttribute("data-id");//直接打开产品分类页面
mui.openWindow({url:'products.html',id:'products.html',extras:{pid:id}
});

商城分类效果图:


products.html的核心代码如下:

<!DOCTYPE html>
<html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" /><!-- 部分内容省略 --></head><body class="baisd"><!-- 主界面菜单同时移动 --><!-- 侧滑导航根容器 --><div class="box"><!-- 主页面标题 --><header class="mui-bar mui-bar-nav header_w header_q"><a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left jiant"></a><span class="mui-pull-right sousuoab sousuoab2"><a data-href="searchproduct.html" id="sousuo"><i class="iconfont icon-sousuo sousuo"></i></a></span></header><div class="height44"></div><div class="height22"></div><div class="container remai  "><div class="swiper-container xiaodian fasten"><div class="swiper-wrapper row shuxian2" id="clist"></div><!-- Add Arrows --></div></div><!-- Initialize Swiper --><!-- 主页面内容容器 --><ul class="mui-table-view mui-grid-view mui-media22" id="ul1"></ul></div></div>
</div>
<script src="js/jquery-3.2.1.min.js"></script>
<script src="js/config.js"></script>
<script type="text/javascript" charset="utf-8">var endflag = "0"; //点击订单状态时,页面加载数据是否结束标识. 1,结束;0,未结束。var detailPage = null; //详情页mui.init();//mui初始化mui.plusReady(function(){endflag = "0";var self = plus.webview.currentWebview();  //获取当前页面webviewvar pid = self.pid == null ? "" : self.pid;//获取传递给当前页面的参数pid,结合文章最上边的调用代码var keyword = self.keyword == null ? "" : self.keyword;//积分商城产品分类列表getClassification(pid,keyword);//预加载产品详情页面if(!detailPage){detailPage = mui.preload({url:'productdetail.html',id:'productdetail.html'});}//点击回到顶部document.querySelector('header').addEventListener('tap',function () {window.scroll(0, 0);});console.log("products.html加载完毕");});//bind:搜索功能document.getElementById("sousuo").addEventListener('tap',function(){var href = this.getAttribute("data-href");mui.openWindow({url:href,id:href,extras:{page:'products.html'}});});//bind:产品的点击事件$("#ul1").on('tap','a',function(){//获取产品idvar id = this.getAttribute("data-id");//触发详情页自定义事件mui.fire(detailPage,'productInfo',{id:id});//打开详情页面mui.openWindow({id:"productdetail.html"});});//func:积分商城产品分类列表function getClassification(ids,keywords){mui.post(shopClassURL,{},function(data){if(data.success){var div = '';//放入产品分类列表$.each(data.data,function(i,v){if(ids == v.id){if(i==data.data.length-1){div += '<div class="swiper-slide swiper-slide2 change"><a data-id="'+v.id+'">'+v.name+'</a></div>';}else{div += '<div class="swiper-slide swiper-slide2 change"><a data-id="'+v.id+'">'+v.name+'</a><span></span></div>';}}else{if(i==data.data.length-1){div += '<div class="swiper-slide swiper-slide2"><a data-id="'+v.id+'">'+v.name+'</a></div>';}else{div += '<div class="swiper-slide swiper-slide2"><a data-id="'+v.id+'">'+v.name+'</a><span></span></div>';}}});$("#clist").append(div);search(ids,keywords);var swiper = new Swiper('.remai .swiper-container', {pagination: '.remai .swiper-pagination',slidesPerView: 5,paginationClickable: true,spaceBetween: 00,calculateHeight: true,autoResize: true,resizeReInit: true});//绑定产品分类的点击事件mui("#clist").on('tap','a',function(){if("1" == endflag){endflag = "0";//高亮控制$("#clist div").removeClass("change");$(this).parent().addClass("change");//执行查询var id = this.getAttribute("data-id");search(id,"");}});}},'json');}//func:根据产品分类ID查询产品列表function search(ids,keywords){//获取对应分类的商品列表mui.post(shopClassProductURL,{"pid":ids,"keyword":keywords},function(data){$("#ul1").empty();if(data.success){console.log("商城产品列表输出数据:"+JSON.stringify(data));$.each(data.data,function(i,v){var inventory = v.inventory; //库存var sales_num = v.sales_num; //销量var sy = parseInt(inventory) - parseInt(sales_num);var li = '<li class="mui-table-view-cell mui-media mui-col-xs-6 mui-media2 mui-media2s">'xxxx</li>';$("#ul1").append(li);});endflag = "1";}},'json');}
</script></body>
</html>

懂Html就能开发App,博文持续更新,博主QQ:260737830!

这篇关于WEB开发者之混合开发APP(九), 商城案例--商城分类页(products.html)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/211409

相关文章

基于 Cursor 开发 Spring Boot 项目详细攻略

《基于Cursor开发SpringBoot项目详细攻略》Cursor是集成GPT4、Claude3.5等LLM的VSCode类AI编程工具,支持SpringBoot项目开发全流程,涵盖环境配... 目录cursor是什么?基于 Cursor 开发 Spring Boot 项目完整指南1. 环境准备2. 创建

MyBatis分页查询实战案例完整流程

《MyBatis分页查询实战案例完整流程》MyBatis是一个强大的Java持久层框架,支持自定义SQL和高级映射,本案例以员工工资信息管理为例,详细讲解如何在IDEA中使用MyBatis结合Page... 目录1. MyBATis框架简介2. 分页查询原理与应用场景2.1 分页查询的基本原理2.1.1 分

Vue和React受控组件的区别小结

《Vue和React受控组件的区别小结》本文主要介绍了Vue和React受控组件的区别小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录背景React 的实现vue3 的实现写法一:直接修改事件参数写法二:通过ref引用 DOMVu

Java实现将HTML文件与字符串转换为图片

《Java实现将HTML文件与字符串转换为图片》在Java开发中,我们经常会遇到将HTML内容转换为图片的需求,本文小编就来和大家详细讲讲如何使用FreeSpire.DocforJava库来实现这一功... 目录前言核心实现:html 转图片完整代码场景 1:转换本地 HTML 文件为图片场景 2:转换 H

C#使用Spire.Doc for .NET实现HTML转Word的高效方案

《C#使用Spire.Docfor.NET实现HTML转Word的高效方案》在Web开发中,HTML内容的生成与处理是高频需求,然而,当用户需要将HTML页面或动态生成的HTML字符串转换为Wor... 目录引言一、html转Word的典型场景与挑战二、用 Spire.Doc 实现 HTML 转 Word1

Vue3绑定props默认值问题

《Vue3绑定props默认值问题》使用Vue3的defineProps配合TypeScript的interface定义props类型,并通过withDefaults设置默认值,使组件能安全访问传入的... 目录前言步骤步骤1:使用 defineProps 定义 Props步骤2:设置默认值总结前言使用T

SpringBoot 多环境开发实战(从配置、管理与控制)

《SpringBoot多环境开发实战(从配置、管理与控制)》本文详解SpringBoot多环境配置,涵盖单文件YAML、多文件模式、MavenProfile分组及激活策略,通过优先级控制灵活切换环境... 目录一、多环境开发基础(单文件 YAML 版)(一)配置原理与优势(二)实操示例二、多环境开发多文件版

使用docker搭建嵌入式Linux开发环境

《使用docker搭建嵌入式Linux开发环境》本文主要介绍了使用docker搭建嵌入式Linux开发环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录1、前言2、安装docker3、编写容器管理脚本4、创建容器1、前言在日常开发全志、rk等不同

深度解析Java @Serial 注解及常见错误案例

《深度解析Java@Serial注解及常见错误案例》Java14引入@Serial注解,用于编译时校验序列化成员,替代传统方式解决运行时错误,适用于Serializable类的方法/字段,需注意签... 目录Java @Serial 注解深度解析1. 注解本质2. 核心作用(1) 主要用途(2) 适用位置3

Web服务器-Nginx-高并发问题

《Web服务器-Nginx-高并发问题》Nginx通过事件驱动、I/O多路复用和异步非阻塞技术高效处理高并发,结合动静分离和限流策略,提升性能与稳定性... 目录前言一、架构1. 原生多进程架构2. 事件驱动模型3. IO多路复用4. 异步非阻塞 I/O5. Nginx高并发配置实战二、动静分离1. 职责2