步骤 1 : homePage.html 的复杂性 步骤 2 : homePage.html 代码讲解 步骤 3 : homePage.html 所包含页面关系 步骤 4 : categoryAndcarousel.html 步骤 5 : categoryMenu.html 步骤 6 : productsAsideCategorys.html 步骤 7 : carousel.html 步骤 8 : homepageCategoryProducts.html 步骤 9 : 总结
增值内容,请先登录
完整的 Springboot 模仿天猫项目,使用 Springboot 、Vue.js、shiro、redis、elasticsearch 等一整套技术栈, 从无到有涵盖全部129个知识点,565个开发步骤, 充实 Springboot 项目经验,为简历加上一个有吸引力的砝码.
增值内容,点击购买
使用爬虫已经被系统记录,请勿使用爬虫,增大封号风险。 如果是误封 ,请联系站长,谢谢
增值内容,请先登录
完整的 Springboot 模仿天猫项目,使用 Springboot 、Vue.js、shiro、redis、elasticsearch 等一整套技术栈, 从无到有涵盖全部129个知识点,565个开发步骤, 充实 Springboot 项目经验,为简历加上一个有吸引力的砝码.
增值内容,点击购买
使用爬虫已经被系统记录,请勿使用爬虫,增大封号风险。 如果是误封 ,请联系站长,谢谢
<div th:fragment="html">
<script>
function showProductsAsideCategorys(cid){
$("div.eachCategory[cid="+cid+"]").css("background-color","white");
$("div.eachCategory[cid="+cid+"] a").css("color","#87CEFA");
$("div.productsAsideCategorys[cid="+cid+"]").show();
}
function hideProductsAsideCategorys(cid){
$("div.eachCategory[cid="+cid+"]").css("background-color","#e2e2e3");
$("div.eachCategory[cid="+cid+"] a").css("color","#000");
$("div.productsAsideCategorys[cid="+cid+"]").hide();
}
function homePageRegisterListeners(){
$("div.eachCategory").mouseenter(function(){
var cid = $(this).attr("cid");
showProductsAsideCategorys(cid);
});
$("div.eachCategory").mouseleave(function(){
var cid = $(this).attr("cid");
hideProductsAsideCategorys(cid);
});
$("div.productsAsideCategorys").mouseenter(function(){
var cid = $(this).attr("cid");
showProductsAsideCategorys(cid);
});
$("div.productsAsideCategorys").mouseleave(function(){
var cid = $(this).attr("cid");
hideProductsAsideCategorys(cid);
});
$("div.rightMenu span").mouseenter(function(){
var left = $(this).position().left;
var top = $(this).position().top;
var width = $(this).css("width");
var destLeft = parseInt(left) + parseInt(width)/2;
$("img#catear").css("left",destLeft);
$("img#catear").css("top",top-20);
$("img#catear").fadeIn(500);
});
$("div.rightMenu span").mouseleave(function(){
$("img#catear").hide();
});
var left = $("div#carousel-of-product").offset().left;
$("div.categoryMenu").css("left",left-20);
$("div.categoryWithCarousel div.head").css("margin-left",left);
$("div.productsAsideCategorys").css("left",left-20);
$("div.productsAsideCategorys div.row a").each(function(){
var v = Math.round(Math.random() *6);
if(v == 1)
$(this).css("color","#87CEFA");
});
}
$(function(){
var data4Vue = {
uri:'forehome',
categories: []
};
//ViewModel
var vue = new Vue({
el: '#workingArea',
data: data4Vue,
mounted:function(){ //mounted 表示这个 Vue 对象加载成功了
linkDefaultActions();
this.load();
},
methods: {
load:function(){
var url = this.uri;
axios.get(url).then(function(response) {
vue.categories = response.data;
vue.$nextTick(function(){
//要等渲染结束之后,才来进行监听,否则他们都没有被创建出来,监听也没有意义呀
homePageRegisterListeners();
})
});
}
},
filters:{
subTitleFilter:function(value) {
if (!value) return ''; //如果为空,则返回空字符串
return value.split(" ")[0]; //根据空格拆分,并且只获取数组第一个值
}
}
});
});
</script>
<title>模仿天猫官网</title>
<div class="homepageDiv">
<div th:replace="include/fore/home/categoryAndcarousel::html" ></div>
<div th:replace="include/fore/home/homepageCategoryProducts::html" ></div>
</div>
</div>
增值内容,请先登录
完整的 Springboot 模仿天猫项目,使用 Springboot 、Vue.js、shiro、redis、elasticsearch 等一整套技术栈, 从无到有涵盖全部129个知识点,565个开发步骤, 充实 Springboot 项目经验,为简历加上一个有吸引力的砝码.
增值内容,点击购买
使用爬虫已经被系统记录,请勿使用爬虫,增大封号风险。 如果是误封 ,请联系站长,谢谢
增值内容,请先登录
完整的 Springboot 模仿天猫项目,使用 Springboot 、Vue.js、shiro、redis、elasticsearch 等一整套技术栈, 从无到有涵盖全部129个知识点,565个开发步骤, 充实 Springboot 项目经验,为简历加上一个有吸引力的砝码.
增值内容,点击购买
使用爬虫已经被系统记录,请勿使用爬虫,增大封号风险。 如果是误封 ,请联系站长,谢谢
<div th:fragment="html">
<img src="img/site/catear.png" id="catear" class="catear"/>
<div class="categoryWithCarousel">
<div class="headbar show1">
<div class="head ">
<span style="margin-left:10px" class="glyphicon glyphicon-th-list"></span>
<span style="margin-left:10px" >商品分类</span>
</div>
<div class="rightMenu">
<span><a href=""><img src="img/site/chaoshi.png"/></a></span>
<span><a href=""><img src="img/site/guoji.png"/></a></span>
<span v-for="c,index in categories" v-if='index<=3'>
<a :href="'category?cid='+c.id">{{c.name}}</a>
</span>
</div>
</div>
<div style="position: relative">
<div th:replace="include/fore/home/categoryMenu::html" ></div>
</div>
<div style="position: relative;left: 0;top: 0;">
<div th:replace="include/fore/home/productsAsideCategorys::html" ></div>
</div>
<div th:replace="include/fore/home/carousel::html" ></div>
<div class="carouselBackgroundDiv">
</div>
</div>
</div>
增值内容,请先登录
完整的 Springboot 模仿天猫项目,使用 Springboot 、Vue.js、shiro、redis、elasticsearch 等一整套技术栈, 从无到有涵盖全部129个知识点,565个开发步骤, 充实 Springboot 项目经验,为简历加上一个有吸引力的砝码.
增值内容,点击购买
使用爬虫已经被系统记录,请勿使用爬虫,增大封号风险。 如果是误封 ,请联系站长,谢谢
<div th:fragment="html">
<div class="categoryMenu">
<div :cid="c.id" class="eachCategory" v-for="c in categories">
<span class="glyphicon glyphicon-link"></span>
<a :href="'category?cid='+c.id">
{{c.name}}
</a>
</div>
</div>
</div>
<div th:fragment="html"> <div class="categoryMenu"> <div :cid="c.id" class="eachCategory" v-for="c in categories"> <span class="glyphicon glyphicon-link"></span> <a :href="'category?cid='+c.id"> {{c.name}} </a> </div> </div> </div>
增值内容,请先登录
完整的 Springboot 模仿天猫项目,使用 Springboot 、Vue.js、shiro、redis、elasticsearch 等一整套技术栈, 从无到有涵盖全部129个知识点,565个开发步骤, 充实 Springboot 项目经验,为简历加上一个有吸引力的砝码.
增值内容,点击购买
使用爬虫已经被系统记录,请勿使用爬虫,增大封号风险。 如果是误封 ,请联系站长,谢谢
<div th:fragment="html">
<div :cid="c.id" class="productsAsideCategorys" v-for="c in categories">
<div class="row show1" v-for="ps in c.productsByRow">
<a :href="'product?pid='+p.id" v-for="p in ps" v-if="p.subTitle.length!=0">
{{p.subTitle | subTitleFilter}}
</a>
<div class="seperator"></div>
</div>
</div>
</div>
<div th:fragment="html"> <div :cid="c.id" class="productsAsideCategorys" v-for="c in categories"> <div class="row show1" v-for="ps in c.productsByRow"> <a :href="'product?pid='+p.id" v-for="p in ps" v-if="p.subTitle.length!=0"> {{p.subTitle | subTitleFilter}} </a> <div class="seperator"></div> </div> </div> </div>
增值内容,请先登录
完整的 Springboot 模仿天猫项目,使用 Springboot 、Vue.js、shiro、redis、elasticsearch 等一整套技术栈, 从无到有涵盖全部129个知识点,565个开发步骤, 充实 Springboot 项目经验,为简历加上一个有吸引力的砝码.
增值内容,点击购买
使用爬虫已经被系统记录,请勿使用爬虫,增大封号风险。 如果是误封 ,请联系站长,谢谢
<div th:fragment="html">
<div id="carousel-of-product" class="carousel-of-product carousel slide1" data-ride="carousel">
<!-- Indicators -->
<ol class="carousel-indicators">
<li data-target="#carousel-of-product" data-slide-to="0" class="active"></li>
<li data-target="#carousel-of-product" data-slide-to="1"></li>
<li data-target="#carousel-of-product" data-slide-to="2"></li>
<li data-target="#carousel-of-product" data-slide-to="3"></li>
</ol>
<!-- Wrapper for slides -->
<div class="carousel-inner" role="listbox">
<div class="item active">
<img class="carousel carouselImage" src="img/lunbo/1.jpg" >
</div>
<div class="item">
<img class="carouselImage" src="img/lunbo/2.jpg" >
</div>
<div class="item">
<img class="carouselImage" src="img/lunbo/3.jpg" >
</div>
<div class="item">
<img class="carouselImage" src="img/lunbo/4.jpg" >
</div>
</div>
</div>
增值内容,请先登录
完整的 Springboot 模仿天猫项目,使用 Springboot 、Vue.js、shiro、redis、elasticsearch 等一整套技术栈, 从无到有涵盖全部129个知识点,565个开发步骤, 充实 Springboot 项目经验,为简历加上一个有吸引力的砝码.
增值内容,点击购买
使用爬虫已经被系统记录,请勿使用爬虫,增大封号风险。 如果是误封 ,请联系站长,谢谢
<div th:fragment="html">
<div class="homepageCategoryProducts">
<div class="eachHomepageCategoryProducts" v-for="c in categories">
<div class="left-mark"></div>
<span class="categoryTitle">{{c.name}}</span>
<br>
<div class="productItem" v-for="p,index in c.products" v-if="index<5" >
<a :href="'product?pid='+p.id">
<img width="100px" :src="'img/productSingle_middle/'+p.firstProductImage.id+'.jpg'">
</a>
<a class="productItemDescLink" href="'product?pid='+p.id">
<span class="productItemDesc">[热销]
{{p.name | subStringFilter(0,20)}}
</span>
</a>
<span class="productPrice">
{{p.promotePrice | formatMoneyFilter}}
</span>
</div>
<div style="clear:both"></div>
</div>
<img id="endpng" class="endpng" src="img/site/end.png">
</div>
</div>
增值内容,请先登录
完整的 Springboot 模仿天猫项目,使用 Springboot 、Vue.js、shiro、redis、elasticsearch 等一整套技术栈, 从无到有涵盖全部129个知识点,565个开发步骤, 充实 Springboot 项目经验,为简历加上一个有吸引力的砝码.
增值内容,点击购买
使用爬虫已经被系统记录,请勿使用爬虫,增大封号风险。 如果是误封 ,请联系站长,谢谢
HOW2J公众号,关注后实时获知最新的教程和优惠活动,谢谢。
问答区域
2021-11-18
感觉既然都是用设置null的形式不用@JsonBackReference更好理解,代码改成都设置null就不会套娃了
1 个答案
鸡你太美噢北北 跳转到问题位置 答案时间:2021-11-18 @ManyToOne @JoinColumn(name="pid") //@JsonBackReference//转为jSON对象时被忽略 private Product product;
回答已经提交成功,正在审核。 请于 我的回答 处查看回答记录,谢谢
2021-03-27
搜索栏下分类名没有显示
1 个答案
how2j 跳转到问题位置 答案时间:2021-04-03 1. 嗯,后面 拦截器会讲到:
https://how2j.cn/k/tmall_springboot/tmall_springboot-1902/1902.html
2. @{} 这个用法的知识点在:
https://how2j.cn/k/springboot/springboot-url/1736.html
3. 有用,前端js进行显示隐藏切换的时候会用到
回答已经提交成功,正在审核。 请于 我的回答 处查看回答记录,谢谢
2020-12-27
关于选择器
2020-10-24
homePage.html 下的监听有错误
2020-08-27
关于分类标签
提问太多,页面渲染太慢,为了加快渲染速度,本页最多只显示几条提问。还有 17 条以前的提问,请 点击查看
提问之前请登陆
提问已经提交成功,正在审核。 请于 我的提问 处查看提问记录,谢谢
|