【VUE】vue程序设计----模仿网易严选

news/2024/5/4 8:42:34/文章来源:https://blog.csdn.net/pandas23/article/details/126611639

1、引言

设计结课作业,课程设计无处下手,网页要求的总数量太多?没有合适的模板?数据库,java,python,vue,html作业复杂工程量过大?毕设毫无头绪等等一系列问题。你想要解决的问题,在微信公众号“coding加油站”中全部会得到解决

2、作品介绍

网易严选系统采用html,css,vue技术来实现,符合所学知识体系,适用于常见的作业以及课程设计,需要获取更多的作品,请关注微信公众号:coding加油站,回复“xx”免费获取,如需更多资料,可在微信后台留言。欢迎大家来提问,交流学习。

2.1、作品简介方面 

网易严选系统采用常规方式来实现,符合绝大部分的要求。代码配置有相关文档讲解,如需从代码中学到知识点,那么这个作品将是你的不二之选

2.2、作品二次开发工具

此作品代码相对简单,基本使用课堂中所学知识点来完成,只需要修改相关的介绍文字,一些图片,就可以改为自己独一无二的代码,网页作品下载后可使用任意编辑软件(例如:DW、HBuilder、NotePAD 、Vscode 、Sublime 、Webstorm 所有编辑器均可使用)。

2.3、作品技术介绍

html网页作品技术方面:使用CSS制作了网页背景图、鼠标经过及选中导航变色效果、下划线等相关技术来美化相关界面,部分采用了javascript来做校验。 使用html5,以及css3等相关技术完成技术的布局,在本作品中,会使用常见的布局,常见的浮动布局,flex布局都会有使用到哦。同时在操作方面上运用了html5和css3,采用了div+css结构、表单、超链接、浮动、绝对定位、相对定位、字体样式、引用视频等基础知识,同时使用了一些js的相关知识。例如使用到了dom,和bom来获取浏览器的相关api,同时使用css对样式进行相关的美化,使得界面更加符合网页设计

vue作品技术方面:使用vue技术开发的网站,涉及常见的vue指令,如v-for,v-if,v-show,v-html等的使用,包含watch,计算属性等常见功能的开发,以及组件的使用,使用vue相关全家桶的使用,运用了v-router来作为路由,完全符合常见的网站开发技术。同时也会使用html5,以及css3等相关技术完成技术的布局,在本作品中,会使用常见的布局,常见的浮动布局,flex布局都会有使用到哦。

3、作品演示

【coding加油站】vue程序设计---模仿网易严选

3.1、首页

相关代码:

<div class="wrap" :style="!Mister?'background-image:url(https://yanxuan-static.nosdn.127.net/hxm/yanxuan-node-wap/style/img/skeleton/index-bad8841212914b21f136.png)':''" ><div class="mask" v-show="big_channel" @click="mask_qiehuan"></div><div class="top"><Top><a slot="logo" href="" class="logo"></a><a slot="login" href="" class="login">登录</a></Top><div class="category"><ul v-show="short_channel"><li  :class="active==index?'on':''" v-for="(item,index) in categorys" :key="index" v-show="index<4"><a href="" @click.prevent="select(index,item)"  >{{item}}</a></li></ul><div class="all_cate" v-show="big_channel"><p>全部频道</p><div class="short_cate"><span @click="qiehuan(index,item)" :class="index==on?'on':''" v-for="(item,index) in big_categorys" :key="index" >{{item}}</span></div></div><span  @click="show_channel"  class="iconfont arr" :class="short_channel?'icon-xiangxiajiantou':'icon-xiangxiajiantou-copy'"> </span></div></div><section  ><div class="swiper-container"><div class="swiper-wrapper"><div class="swiper-slide" v-for="(item,index) in lunbo" :key="index"><img :src="item" alt=""></div></div><div class="swiper-pagination"></div><!--分页器。如果放置在swiper-container外面,需要自定义样式。--></div><!-- title --><div class="title"><div v-for="(item,index) in title" :key="index"><img :src="item.icon" alt=""><span>{{item.name}}</span></div></div><!-- classify --><ul class="classify" v-if="Mister.kingKongModule"><li v-for="(item,index) in Mister.kingKongModule.kingKongList" :key="index" ><img :src="item.picUrl" alt=""><span class="">{{item.text}}</span></li></ul><!-- 新人福利 --><div class="new_person"><img src="https://yanxuan.nosdn.127.net/0f256e29c06d1954a6785b16ec7d3624.gif?imageView&quality=75" alt=""></div><div class="tuijian"><div class="img"><img v-lazy="'https://yanxuan.nosdn.127.net/2ce893ef19956ddd2413d87a24e9b2e4.png?quality=75&type=webp&imageView&thumbnail=375x0'" alt=""><img v-lazy="'https://yanxuan.nosdn.127.net/9afb2a9449c66f348bf3fa4c3deda38f.png?quality=75&type=webp&imageView&thumbnail=375x0'" alt=""></div><a href=""><img v-lazy="'https://yanxuan.nosdn.127.net/8346ccd16467d54491ee969769bcb21e.png?quality=75&type=webp&imageView&thumbnail=750x0'" alt=""></a></div><!-- 类目销量榜 --><div class="leimu"><h1>类目销量榜</h1><div class="paihang"><div class="left"><div class="text " >热销榜</div><img v-lazy="'https://yanxuan-item.nosdn.127.net/c40842640f6a1a2509960c2029aca1b8.png?quality=75&type=webp&imageView&thumbnail=200x200'" alt=""></div><div class="right"><div class="text good">好评榜</div><img v-lazy="'https://yanxuan-item.nosdn.127.net/c40842640f6a1a2509960c2029aca1b8.png?quality=75&type=webp&imageView&thumbnail=200x200'" alt=""></div></div><div class="short_paihang" v-if="Mister.categoryHotSellModule"><div class="item" v-show="index>=2" v-for="(item,index) in Mister.categoryHotSellModule.categoryList" :key="index" @click="GoonItem(item)"><p>{{item.categoryName}}</p><img v-lazy="item.picUrl" alt=""></div></div></div><!-- 限时抢购 --><div class="sale"><div class="tops"><div class="buy" v-html="isTime"></div><a @click.prevent="$router.replace('/flashsale')" href="" class="more">更多 ></a></div><ul class="bottom" v-if="Mister.flashSaleModule"><li @click="$router.push('/flashsale')" v-for="(item,index) in Mister.flashSaleModule.itemList" :key="index"><img v-lazy="item.picUrl" alt=""><p><span>¥{{item.activityPrice}}</span><del>¥{{item.originPrice}}</del></p></li><li></li><li></li></ul></div><!-- 新品首发 --><div class="new_shop"><div class="new_top"><h2>新品首发</h2><a @click.prevent="$router.replace('/new')" href="" class="more">更多 ></a>      </div><ul class="new_shops"><li @click="toBuy(item.id)" v-show="index<6" v-for="(item,index) in Mister.newItemList" :key="index"><img v-lazy="item.primaryPicUrl" alt=""> <div class="names">{{item.name}}</div><div class="prices">¥{{item.retailPrice}}</div><div class="huodon" v-if="item.promTag"><span>{{item.promTag}}</span></div></li></ul></div>
</section></div>

3.2、分类页

 相关代码:

<template>
<div class="wrap">
<Top width="95%"></Top>
<section><div class="left"><ul class="left_scroll"><li @click="TabAlter(item.id,index)" :class="active===index?'active':''" v-for="(item,index) in categoryL1List" :key="index">{{item.name}}</li></ul></div><div class="right"><keep-alive><Right :categoryGroupLis="categoryGroupLis" :isShowConten="currentCategory.bannerList":categoryGroupList="categoryGroupLis"/></keep-alive></div>
</section>
</div>
</template><script>
import Right from './Category_right/Right'
import {mapState} from 'vuex'
import Top from '../../pages/Top/Top'
export default {
data(){return {active:-1,}
}
,
mounted(){
// 异步请求地址
this.TabAlter(11,0)}
,    
methods:{
TabAlter(id,index){if(index==this.active)returnthis.active=indexthis.$store.dispatch("GETCATEGORY",id)}
}
,
computed:{...mapState({categoryGroupLis:state=>state.Category.categoryGroupLis,categoryL1List:state=>state.Category.categoryL1List,currentCategory:state=>state.Category.currentCategory,// categoryGroupLis:state=>state.Category.categoryGroupLis})
}
,
components:{Top,Right
}}
</script>

3.3、详情页

 相关代码:

<template>
<div class="wrap">
<Header></Header>
<div class="header"><div class="intros"><div class="title"><img src="http://yanxuan.nosdn.127.net/0b7676e645253f84be662aacfc051922.png" alt=""><span>严选好物 用心生活</span></div><img class="bg" src="http://yanxuan.nosdn.127.net/a93a392fb8006ba26dea38477979b7b4.jpg?imageView" alt=""></div><div class="container"><div class="banner" ref="banner"><ul class="swipers" v-for="(item,index) in category" :key="index"><li v-for="(items,indexs) in item" :key="indexs"><img :src="items.picUrl" alt=""><p>{{items.mainTitle}}</p><span>{{items.viceTitle}}</span></li></ul></div><div class="xianshitiao"><span class="ospan"></span></div></div>
</div>
<section><ul class="content" v-if="DeserveBuy[0] && DeserveBuy[1]" > <li  v-for="(item,index) in DeserveBuy" :key="index"><div @click="$router.replace('/deserveContent/'+items.topicId)" class="all_show" v-for="(items,indexs) in item" :key="indexs"><img v-lazy="items.picUrl"  alt=""><div class="intro" v-if="items.nickname">{{items.title}}</div><div class="person" v-if="items.nickname"><div class="name" ><img v-lazy="items.avatar"  alt="">{{items.nickname}}</div><div class="numbers"><img v-lazy="'https://yanxuan.nosdn.127.net/5097bc5f2e1eb15f2a32b56895db073a.png'" alt=""><span>83k</span></div></div><div class="shows" v-else><h1>{{items.title}}</h1><h3>{{items.subTitle}}</h3></div></div></li></ul>
</section>
</div>
</template>
<script>
import {mapState} from 'vuex'
import BetterScroll from 'better-scroll'
import Header from '../../pages/Header/Header'
export default {
data(){return {page:1,isZhixing:false,}
},
components:{Header
},
computed:{...mapState({category:state=>state.Deserve.category,DeserveBuy:state=>state.Deserve.DeserveBuy})
}
,
mounted(){// 获取导航信息this.$store.dispatch("GETDESERVECATE")// 请求默认数据this.$store.dispatch("GETDETAILS",{page:this.page,size:2})},
watch:{category(){this.$nextTick(()=>{let banner=this.$refs.bannerlet oul=banner.querySelectorAll("ul")let oul_width=oul[0].offsetWidthbanner.style.width=(oul_width)+"px"// 滑动console.log(oul_width)let ospan=document.querySelector(".ospan")this.scroll= new BetterScroll(".container",{scrollX:true,click:true,momentum:true})// 获取下方滚动条this.scroll.on("scrollEnd",(e)=>{let distance=Math.abs(e.x)if(distance>=300){ospan.style.width="100%"}else {ospan.style.width="50%"}})})}
,
DeserveBuy(){this.$nextTick(()=>{this.ajaxDeserve()})
}},
methods:{ajaxDeserve(){console.log(9998)let content=document.querySelector(".content")// 滚动let page=1;let documents=document.documentElement || document.bodywindow.addEventListener("scroll",()=>{if(documents.scrollHeight==documents.scrollTop+documents.clientHeight){if(!this.isZhixing){this.page++this.$store.dispatch("GETDETAILS",{page:this.page,size:2})console.log(this.page)this.isZhixing=true}window.setTimeout(()=>{console.log(225)this.isZhixing=false},1000)}},false)}
},beforeDestroy(){window.location.reload()
}
}
</script>

4、代码结构图

总结

以上就是本次项目的全部内容,需要交流或者免费获取代码请关注微信公众号:coding加油站,回复“网易严选”免费获取

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_3238.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Mysql 的安装

目录1.Mysql 的下载2.Mysql 的安装(1)解压缩(2)卸载 maridb(3)按顺序安装 4 个包&#xff08;因为有依赖关系&#xff09;(4)数据库初始化(5)启动 mysql 服务(6)修改密码(7)进入 mysql(8)修改密码策略1.Mysql 的下载 https://downloads.mysql.com/archives/get/p/23/file/mysq…

【计算机图形学】高级外观建模

文章目录高级外观建模 Advanced Appearance Modeling参与介质 Participating Media毛发外观 Hair AppearanceMarschner ModelDouble Cylinder Model颗粒材料 Granular Material透光材质 Translucent MaterialDipole Approximation布料 Cloth当作表面进行渲染当作参与介质渲染当…

阿里云dataworks中业务流程中问题(odps2)

bigdate形式的数据在odps的2.0版本中无法隐式转换&#xff0c;应将一个参数改为false如下 setproject odps.sql.type.system.odps2false; 上面的语句应该与insert …table 表名 select …一起使用 例如 setproject odps.sql.type.system.odps2false; INSERT OVERWRITE TABLE y…

PC端 Rockchip RKNN-Toolkit 连接 Rockchip NPU 设备

PC端 Rockchip RKNN-Toolkit 连接 Rockchip NPU 设备 flyfish 安装Windows版的Rockchip RKNN-Toolkit 可以使用anaconda简化安装&#xff0c;如果是linux请参考 瑞芯微 Rockchip RKNN-Toolkit 环境搭建 前提 Windows下已经安装Rockchip RKNN-Toolkit 1 物理连接 物理上先…

无锅一身轻,IT资产账号密码就该这么管理

身为运维工程师、公司的IT资产都在你的管理范围。每天疲于奔命、忙于解决各种问题、救火式运维让多少运维兄弟的身体被掏空、姑娘看了都直摇头。 账号密码管理不善、往往是运维兄弟背锅的首要原因。 1、针对外包商的账号管理问题 随着网络越来越发达、像下图中这样的泄密事件也…

B+树结构与索引<一> _ 结构与索引

目录 一、B树结构 1. 二分查找法 2. 二叉查找树 3. 平衡二叉树 4. 平衡多路查找树&#xff08;B-Tree&#xff09; 5. B树 二、操作B树 1. 插入操作 2. 删除操作 三、B树索引类型 1. 聚集索引&#xff08;clustered index&#xff09; 2. 辅助索引&#xff08;seco…

JS(WebAPI部分)

文章目录DOMDOM 简介获取元素事件基础事件三要素执行事件的步骤操作元素ROMMDN文档链接&#xff1a; https://developer.mozilla.org/zh-CN/docs/Web/APIDOM DOM 简介 文档对象模型&#xff08;Document Object Model&#xff0c;简称 DOM&#xff09;&#xff0c;是 W3C 组织…

CogView中网络结构的总体构建

入门小菜鸟&#xff0c;希望像做笔记记录自己学的东西&#xff0c;也希望能帮助到同样入门的人&#xff0c;更希望大佬们帮忙纠错啦~侵权立删。 目录 一、构建图 二、代码解析 1、__init__ &#xff08;1&#xff09;参数设定 &#xff08;2&#xff09;Word embeddings …

UVA 10271 佳佳的筷子 Chopsticks [DP的基本运用]

佳佳的筷子 Chopsticks 题面翻译 定义一个三元组(a,b,c)(a⩽b⩽c)(a,b,c)(a\leqslant b\leqslant c)(a,b,c)(a⩽b⩽c)&#xff0c;它的权值为 (a−b)2(a-b)^2(a−b)2 。 给定 n(n⩽5000)n(n\leqslant5000)n(n⩽5000) 个数&#xff0c;要求选出 k8k8k8 个三元组&#xff0c;使…

2、操作系统基本原理

操作系统基本原理 软件设计师需要有扎实的理论知识&#xff0c;而操作系统作为计算机科学最为基本的理论基础和分支领域之一&#xff0c;是软件设计师必须重点掌握的知识。本章将介绍操作系统相关的考点&#xff0c;并辅以练习题&#xff0c;以便考生切实掌握相关内容。 根据考…

【python经验总结】我与bug的那些日子

【python经验总结】我与bug的那段岁月 &#x1f496;&#x1f496;&#x1f496;&#x1f495;&#x1f495;&#x1f495;欢迎来到本博客&#x1f495;&#x1f495;&#x1f495;&#x1f496;&#x1f496;&#x1f496; . &#x1f381;支持&#xff1a;如果觉得博主的文章…

猿创征文|【Typescript】搭建TS的编译环境

多一些不为什么的坚持&#x1f933; 贤蛋 &#x1f95a;大眼萌 &#xff0c;一名很普通但不想普通的程序媛&#x1f64a; &#x1f4dd;本文章收录于专栏&#xff1a;Typescript学习 搭建TS的编译环境&#x1f388; 认识Typescript&#x1f48a; Typescript 的编译环境&#x1…

110道Java初级面试题及答案(最新Java初级面试题大汇总)

史上最全Java初中级面试题&#xff0c;发现网上很多Java初级面试题都没有答案&#xff0c;所以花了很长时间搜集整理出来了这套Java面试题大全&#xff0c;希望对大家有帮助哈~ 本人发现网上虽然有不少Java相关的面试题&#xff0c;但第一未必全&#xff0c;第二未必有答案&am…

windows系统使用docker-compose

windows系统使用docker-compose 为什么使用docker-compose&#xff1f; 使用 Docker Compose 可以轻松、高效的管理容器&#xff0c;它是一个用于定义和运行多容器 Docker 的应用程序工具 1、新建docker-compose.yml文件 在windows系统找到docker的安装目录&#xff1a;C:P…

2022 IDC中国数字金融论坛 | 筑基金融信创 共话金融科技新愿景

2022年8月18日&#xff0c;第十届“IDC中国数字金融论坛”于北京举行。本届论坛以“开放融合、数字信任、智慧金融”为主题&#xff0c;基于IDC对全球金融科技发展及行业趋势的研究&#xff0c;发布对金融行业趋势的解读与对数字金融发展的洞见&#xff0c;为金融领域资深专家及…

怎么把PDF转换成CAD文件格式呢?

我们在工作中难免会遇到各种文件格式&#xff0c;而每种格式都有其独特的优点。比如PDF文件格式比其他文件格式更稳定&#xff0c;基本上所有系统都可以打开&#xff0c;内容不容易修改。而CAD文件格式&#xff0c;在工程建设中&#xff0c;尤其是设计阶段被广泛应用。那么当我…

27、CityNeRF

简介 主页&#xff1a;https://city-super.github.io/citynerf/ CityNeRF能够将城市尺度的3D场景打包到一个统一的模型中&#xff0c;它能够保存从卫星到地面不等尺度的高质量细节。顶部:使用边缘颜色蓝色(L1)、绿色(L2)和橙色(L3)来表示从最远到最近的三个等级&#xff0c;P…

L73.linux命令每日一练 -- 第十章 Linux网络管理命令 -- dig和host

10.19 dig&#xff1a;域名查询工具 10.19.1 命令详解 ​ 【命令星级】 ★★★★☆ ​ 【功能说明】 ​ dig命令是常用的域名查询工具&#xff0c;可以用于测试域名系统的工作是否正常。 ​ 【语法格式】 dig [option] dig [选项]​ **说明&#xff1a;**在dig命令及后面…

Debian/Ubuntu/Kali 如何安装 Spotify 音乐白嫖神器

How to install Spotify on Debian/Ubuntu/Kali Linux 可能有小伙伴不了解&#xff0c;什么是Spotify&#xff1f;博主照搬维基百科来做 简要介绍&#xff1a; Spotify&#xff08;/ˈspɒtɪfaɪ/&#xff09;&#xff0c;中文译作“声田”&#xff09;&#xff0c;是一家瑞典…

如何图片批量重命名编号不要汉字?

如何图片批量重命名编号不要汉字&#xff1f;如果你是一个摄影发烧友&#xff0c;或者你是一名从事摄影相关工作的朋友&#xff0c;那么肯定经常会将拍摄好的照片转移到电脑上&#xff0c;然后进行批量重命名。其实不管什么时候&#xff0c;我们经常会遇到图片批量重命名的操作…