当前位置: 首页 > news >正文

建立网站基本步骤拓者设计吧电脑版网页

建立网站基本步骤,拓者设计吧电脑版网页,淘宝网页版下载,天津seo培训班在哪里目录 商城复合案例功能实现(二)商城首页实现步骤1.准备工作2. 搭建html框架3. 编写js代码 完整实例代码完整项目心得 商城复合案例功能实现(二) 使用html,css,基于bootstrap框架以及媒体查询搭建响应式布局…

目录

  • 商城复合案例功能实现(二)
  • 商城首页实现步骤
      • 1.准备工作
      • 2. 搭建html框架
      • 3. 编写js代码
  • 完整实例代码
  • 完整项目心得

商城复合案例功能实现(二)

  1. 使用html,css,基于bootstrap框架以及媒体查询搭建响应式布局页面
  2. 案例共三页,包括首页板块,女装板块,以及单个商品板块,单击互相跳转
  3. 女装页包括tab栏,映射,数据筛选等功能,单个商品页包括轮播图,tab栏,商品放大镜,映射等功能,首页包含轮播图,映射等功能

商城首页实现步骤

1.准备工作

  1. 首页与女装页放在同一页面,通过tab栏切换各个板块的dispaly,实现切换页面的效果
  2. 女装页和男装,特惠,其它页面结构相似,可以只进行标题的修改,剩下照搬

2. 搭建html框架

商品首页
在这里插入图片描述

代码

		<div class="container home page"><div class="slider"><img src="../assets/upholds/slider0.png" alt=""><ul><li data-id="0" class="active"></li><li data-id="1"></li><li data-id="2"></li></ul><button>购买</button></div><div class="topic-one"><h3>私人定制,纯手工打造</h3><div>精选优选自中国新疆阿克苏的高纯白棉花制造的面料,来自英国服装设计大量大卫团队精心设计,时尚而又舒适</div></div><div class="home-content row"><div class="col-12 col-xl-6 col-lg-6"><a href="javascript:;"style="background: url(../assets/upholds/home-content1.png) -50px;"><div class="mb">男装</div></a></div><div class="col-6 col-xl-3 col-lg-3 class=" col-12 col-md-12""><a href="javascript:;"style="background: url(../assets/upholds/home-content3.png) -50px;"><div class="mb">推荐</div></a></div><div class="col-6 col-xl-3 col-lg-3"><a href="javascript:;"style="background: url(../assets/upholds/home-content4.png) -50px;"><div class="mb">首页</div></a></div><div class="col-6 col-xl-3 col-lg-3"><a href="javascript:;"style="background: url(../assets/upholds/home-content6.png) -50px;"><div class="mb">特价</div></a></div><div class="col-6 col-xl-3 col-lg-3"><a href="javascript:;"style="background: url(../assets/upholds/home-content5.png) -50px;"><div class="mb">箱包</div></a></div><div class="col-12 col-xl-6 col-lg-6"><a href="javascript:;"style="background: url(../assets/upholds/home-content2.png) -50px;"><div class="mb">女装</div></a></div></div><div class="topic-two"><h3>今年流行</h3></div><!-- 其他服饰 --><div class="other-content"><div class="other-costume"><ul class="row"></ul></div></div><div class="topic-three"><h3>最新时装介绍</h3></div><div class="home-new row"><div class="col-12 col-md-4 col-lg-4"><a href="javascript:;"style="background: url(../assets/upholds/new-content1.png);"><div class="mb"><div class="content">穿着自己最喜爱的时尚衣服去喝咖啡,咖啡的味道如此美好...</div><div class="date">2018-7-16</div></div></a></div><div class="col-12 col-md-4 col-lg-4"><a href="javascript:;"style="background: url(../assets/upholds/new-content2.png);"><div class="mb"><div class="content">穿着自己最喜爱的时尚衣服去看大海大海是如此的美好...</div><div class="date">2018-7-16</div></div></a></div><div class="col-12 col-md-4 col-lg-4"><a href="javascript:;"style="background: url(../assets/upholds/new-content3.png);"><div class="mb"><div class="content">穿着自己最喜爱的时尚衣服去户外生活是如此的美好...</div><div class="date">2018-7-16</div></div></a></div></div><div class="register"><h3>注册送大礼</h3><div>注册我们网站的新用户,我们将送一份礼物给你,你只需注册后留下地址和手机号码即可</div><div class="search"><input type="text" placeholder="你的邮箱"><button>订阅</button></div></div></div>

实现效果
在这里插入图片描述

3. 编写js代码

首页轮播图
事件委托自定义属性

	const slider = document.querySelector('.home .slider')const img = document.querySelector('.slider img')const lis = document.querySelectorAll('.slider li')let timerlet num = 0function autoPlay() {timer = setInterval(() => {num++if (num >= 3) {num = 0}img.src = `../assets/upholds/slider${num}.png`lis.forEach(li => {li.classList.remove('active')})lis[num].classList.add('active')}, 2000)}slider.addEventListener('mouseenter', () => {clearInterval(timer)})slider.addEventListener('mouseleave', () => {autoPlay()})autoPlay()slider.addEventListener('click', (e) => {if (e.target.tagName === 'LI') {img.src = `../assets/upholds/slider${e.target.dataset.id}.png`lis.forEach(li => {li.classList.remove('active')})lis[e.target.dataset.id].classList.add('active')}})

实现效果
在这里插入图片描述

鼠标移入出现蒙版

	const masks = document.querySelectorAll('.home-content a')console.log(masks)masks.forEach(mask => {mask.addEventListener('mouseenter', () => {mask.children[0].style.display = 'block'})mask.addEventListener('mouseleave', () => {mask.children[0].style.display = 'none'})})

实现效果
在这里插入图片描述

tab栏切换板块

  1. 因为商品板块全都是映射得来的,所以在每次渲染完页面后都要重复进行部分js操作,最好将部分js步骤给封装起来,方便复用
	const nav = document.querySelector('.nav')const pages = document.querySelectorAll('.page')nav.addEventListener('click', function (e) {if (e.target.tagName === 'A') {const randomArr = []for (let i = 0; i < 12; i++) {const random = Math.floor(Math.random() * initData.length)randomArr.push(initData[random])}document.querySelector('.nav .active').classList.remove('active')e.target.classList.add('active')pages.forEach(items => {items.style.display = 'none'})pages[e.target.dataset.id].style.display = 'block'addData(randomArr)addImg()}})

实现效果
在这里插入图片描述
tab栏数据筛选

const femaleNav = document.querySelectorAll('.female-nav')
femaleNav.forEach(nav => {nav.addEventListener('click', (e) => {femaleNav[0].classList.add('active')if (e.target.tagName === 'A') {document.querySelectorAll('.female-nav .active').forEach(item => {item.classList.remove('active')})e.target.classList.add('active')if (e.target.dataset.id === '0') {addData(initData)cx()}if (e.target.dataset.id === '1') {const arr = initData.filter(item => {return item.status === '特价'})addData(arr)cx()}if (e.target.dataset.id === '2') {const arr = initData.filter(item => {return item.status === ''})addData(arr)cx()}if (e.target.dataset.id === '3') {const arr = initData.filter(item => {return item.price < 200 && item.discount !== ''})addData(arr)cx()}if (e.target.dataset.id === '4') {const arr = initData.filter(item => {return item.price < 150 || item.discount < 150 && item.discount !== ''})addData(arr)cx()}}})
})

实现效果
在这里插入图片描述

商品渲染进阶
当所得数据存在discount时,price所在数字出现中划线

		function cx() {const price = document.querySelectorAll('.other-costume .price')const discount = document.querySelectorAll('.other-costume .discount')for (let i = 0; i < price.length; i++) {if (discount[i].innerHTML !== '') {price[i].children[0].style.textDecoration = 'line-through'}}}window.onload = cx

当所得数据的status为特价或者售完,会将其标识在商品左上角中

	arr.filter(({ name, price, discount, src, status }) => {let soldStatusif (status === '售完') {soldStatus = 'out'} else if (status === '特价') {soldStatus = 'free'} else {soldStatus = ''}

完整实例代码

见所上传资料

完整项目心得

通过此次项目,我复习了css,less,bootstrap栅格化,媒体查询等知识,使自己可以还原百分之八十以上的静态页面,同时,我也使用了最近学过的轮播图,tab栏,数据筛选,等所有知识,我深刻的了解到了框架的重要性,如果只使用原生代码,会导致包括变量名冲突等一系列问题,接下来我将继续学习,会记录一些前端面试题,同时准备接下来的暑期实习。

http://www.dtcms.com/a/471490.html

相关文章:

  • 自学做甜品师的网站wordpress json 时间
  • 做设计找素材那个网站最好用网上培训课程平台
  • 网站建设外包网wordpress关闭评论框
  • 360建站公司黑龙江省建设厅网站
  • 科研新手如何快速准确地找到所需文献?
  • 深圳松岗网站建设做网站需要费用多少
  • # tchMaterial-parser 入门指南
  • 【开题答辩全过程】以 保险理赔管理系统为例,包含答辩的问题和答案
  • 建站模板网站设计wordpress评论区镶嵌图片
  • 餐厅网站开发背景网页设计与制作教程的出版社
  • python学习之访问模式
  • 西宁网站建设报价ew君博贴心0317 沧州 技术支持
  • 【工业场景】用YOLOv8实现反光衣识别
  • 武邑网站建设避免视觉效果混淆
  • 建站售后服务网页设计模板免费下载网站
  • 提供营销型网站价格在线员工后台网站建设
  • 哪家购物网站建设好会员管理系统登录
  • 建设网站需求服务器搭建网站环境
  • NSGA-II算法在MATLAB中求解单目标和多目标函数极值
  • 【P8815 [CSP-J 2022] 逻辑表达式】
  • 有哪些网站做二手房好的做网站怎么维护
  • 网站做漏洞扫描费用wordpress批量添加摘要
  • 路由器通过域名解析做网站用asp做的几个大网站
  • 进行网站推广有哪些常用方法企业建站电话多少
  • 邯郸 网站建设中国交通建设集团有限公司地址
  • 编译原理机测客观题(2)词法分析
  • 大型建设网站网站优化总结
  • 中国铁路建设投资公司官方网站wordpress什么环境
  • 如何自建网站 卖东西自己的电脑做服务器,并建网站
  • 智能手机网站模板建建建设网站公司电话号码