今天早上开始首页内容。首页除了公共页面,还有许多自己的内容:导航和轮播、分类菜单、推荐产品展示,最后还有js的互动。

一、导航和轮播的学习

  在自己做图片的轮播时,还是没有一次成功。存在了好几处问题:

问题1:在最外层的div中id没有写对,data-ride没有写对 最外层div中的id应该只写成carousel-of-product,自己多加了一个carousel 还有把data-ride写反了,写成了ride-data  
问题2:在ol层中的li中,data-target没有写对   在class="carousel-indicators"的ol层,里面的li一个属性data-target,我写成了target-data,也是把属性记错    
问题3:在class="carousel-inner"的第二层div中,少写了role属性 <div class="carousel-inner">中少写了role="listbox"属性    
问题4:在<div class="item">层中少写了一个属性值 <img src="xxx" class="carouselImage">中,class属性少写了值carousel,img应该这样写:<img src="xxx" class="carousel  carouselImage />    

修改好以后,纯Html效果如下(虽然说是纯html,但是已经用到了bootstrap框架)

自己尝试着加上CSS样式:

二、分类菜单的学习

纯html页面:

尝试自己加CSS样式:

光看样式觉得还可以,但是这个右边的详细分类其实是应该要隐藏的,how2j站长为了显示效果才这样设计的,后面还要再加上功能。这个分类菜单分左右两部分,两边都是采用绝对定位的形式,而且z-index应该要设计为1,分类菜单才可以覆盖轮播。

三、推荐产品展示

上一次就是学到这里,心情开始烦躁起来,这次要好好学习!:)

自己写的简单html,效果如下:

尝试自己加上CSS,效果如下:

现在觉得学习的时候,不要想太多,不然会觉得压力很大,很难学的感觉,这样容易产生放弃的想法,简单一点就好:)

cursor鼠标样式,cursor: pointer就是鼠标样式是手指头的

四、JS交互内容

首页的互动效果主要是猫耳朵的出现,以及在轮播部分显示和隐藏产品列表。猫耳朵是指在导航栏上鼠标悬停在某个链接上,上面会出现一个红色的猫耳朵;显示和隐藏产品列表是指在分类菜单中选择某个分类时会弹出更加详细的分类。老实说,我不会这个。我先看看站长怎么做的。

1.站长先设置猫耳朵图片的display属性为none,将猫耳朵隐藏

2.然后通过一段<script>代码,把程序添加:

$(function(){
$("div.rightMenu span").mouseenter(function(){ /*当鼠标进入span,mouseenter不区分子元素,就是就算进入了span的子元素,也算是在span里面,不管子元素这个说法*/
var left = $(this).position().left; /*获取当前元素的x坐标*/
var top = $(this).position().top; /*获取当前元素的y坐标*/
var width = $(this).css("width"); /*获取当前元素的宽度*/
var destLeft = parseInt(left) + parseInt(width)/2; /*定义猫耳朵的x坐标*/
$("img#catear").css("left",destLeft); /*通过$()获取元素后,再通过css()直接设置样式*/
$("img#catear").css("top",top-20);
$("img#catear").fadeIn(500); /*延时500毫秒,淡入*/
});
$("div.rightMenu span").mouseleave(function(){ /*当鼠标离开span元素,隐藏猫耳朵*/
$("img#catear").hide();
});
});

显示和隐藏产品列表的JS代码,也是使用JQuery库,用起来比原生JavaScript代码简洁很多:

 <script> //直接插入<script>中,简单有效
function showProductsAsideCategorys(cid){
$("div.eachCategory[cid="+cid+"]").css("background-color","white"); //$()获取对应cid的eachCategory的div元素,$()里面的选择器很巧妙,是三个字符串拼接的:"xxx" + cid + "xxx"
$("div.eachCategory[cid="+cid+"] a").css("color","#87CEFA"); //$()获取对应cid的粗分类,设置背景颜色和字体颜色
$("div.productsAsideCategorys[cid="+cid+"]").show(); //$()获取对应cid的详细分类,并显示出来
} 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(){ //文档对象模型加载完毕后再执行这些内容,简洁有力
$("div.eachCategory").mouseenter(function(){ //当鼠标进入任意一个产品分类上
var cid = $(this).attr("cid"); //获取这个产品分类的自定义属性cid,即分类主键
showProductsAsideCategorys(cid); //根据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);
});
});
</script>

how2j网站前端项目——天猫前端(第一次)学习笔记2的更多相关文章

  1. how2j网站前端项目——天猫前端(第一次)学习笔记1

    首先是公共页面的学习,有页头.页脚和搜索框. 一.页头就是天猫网站的置顶导航栏: 看似简单,实际做起来也不容易. 写html还是比较简单的,撸起袖子就可以写完.可要想做到上图的样式就难了,难就难在CS ...

  2. how2j网站前端项目——天猫前端(第一次)学习笔记6

    开始我的订单页面 学着学着,会觉得我这是在干啥呢?我要学的是Java不是吗?怎么要学这么久的前端啊?说实话,我很迷茫,不知道以后的工作具体是做什么?学的这些能用到吗? 不过,还是要把这个项目跟着走完! ...

  3. how2j网站前端项目——天猫前端(第一次)学习笔记4

    开始产品页面的学习.项目里面有900多种商品,但是每种商品的布局是一致的:1.产品图片 2.基本信息 3.产品详情 4.累计评价 5.交互.从第一个产品图片开始吧! 一.产品图片 产品图片用到了分类页 ...

  4. how2j网站前端项目——天猫前端(第一次)学习笔记3

    开始学习分类页面! 站长介绍说,这个项目一共有17个分类页面,每个分类页面的风格都是相似的:由分类图片. 查询.各种排序方式,产品列表.内容很多,拆成3部分学习:1.排序和价格 2.产品列表 3.交互 ...

  5. how2j网站前端项目——天猫前端(第一次)学习笔记8

    其他页面的学习 这些页面有1.查询结果页 2.支付页面 3.支付成功页面 4.确认收货页面上 5.确认收货页面下 6.收获成功页面 7.评价页面上 8.评价页面下 9.登陆页面 10.注册页面 1.查 ...

  6. how2j网站前端项目——天猫前端(第一次)学习笔记7

    开始学习结算页面 结算页面分为3个部分学习:1.简单的头部和收货地址 2.较为复杂的确认订单信息 3.交互 一.简单的头部和收货地址 根据站长的图片,自己模仿着做了一下,刚开始没有想到填写信息的4个框 ...

  7. how2j网站前端项目——天猫前端(第一次)学习笔记5

    收拾好心情,现在开始学习第5个页面——购物车页面! 一.结算按钮 这个还是比较简单的,我自己看着站长的样子模仿了一个: 有个地方不会做,就是全选前面的复选框,站长的框里面是白色的,我搞不来. 二.订单 ...

  8. 前端自动化构建工具 gulp 学习笔记 一、

    一.我对gulp的初期理解 是一种前端辅助开发工具 可以帮你把js,css,img等文件 合并.压缩,图片好像是合并为精灵图,合并为精灵图之后,还会生成一个css样式表. 官方解说是:基于流的自动化构 ...

  9. 关于前端的photoshop初探的学习笔记

    写在前边 这还是高三的时候暑假的时候学习这个软件时记的笔记呢,今天又在电脑上找到了它,总觉得不应该让他尘封在我的硬盘上,于是挂了出来.温馨提示:比较乱,写给自己看的,看不下去,按ctrl+W 笔记内容 ...

随机推荐

  1. 2018SDIBT_国庆个人第三场

    A - A CodeForces - 1042A There are nn benches in the Berland Central park. It is known that aiai peo ...

  2. VirtualAlloc申请进程空间

    https://baike.baidu.com/item/VirtualAlloc       百度百科 https://msdn.microsoft.com/zh-cn/library/window ...

  3. ReactiveX 学习笔记(15)使用 Rx.NET + Json.NET 调用 REST API

    JSON : Placeholder JSON : Placeholder (https://jsonplaceholder.typicode.com/) 是一个用于测试的 REST API 网站. ...

  4. Linux IP和网关配置

    操作环境 SuSE11/SuSE10 配置方法一<永久有效,重启不失效> 通过修改/etc/sysconfig/network/ifcfg-eth*文件直接配置,服务器重启不失效,建议使用 ...

  5. impdp导入文件失败问题解决(ORA-39001/ORA-39000/ORA-39143)

    测试环境 SuSE11 + ORACLE11gR2 问题现象 执行 impdp导入现场导回的dmp文件,导入失败.错误提示如下 $impdp sysdb/oracle directory=imp_da ...

  6. git工作操作步骤

    上班开始,打开电脑,git pull:拉取git上最新的代码: 编辑代码,准备提交时,git stash:将自己编辑的代码暂存起来,防止git pull时与库中的代码起冲突,否则自己的代码就白敲了: ...

  7. django 认证系统--1

    django的认证系统提供认证和授权两种功能 认证系统包括如下部分: 1.Users 2.Permissions 主要是以 YES/NO 的形式反映一个用户是否能够做某事 3.Groups:就是对多个 ...

  8. git 恢复到旧版本命令

    1.第一步:找到你想恢复到的版本号:可以在git提交日志中查看-> 找到版本号,复制下来,在git项目根目录下打开git命令窗口: 输入:git reset --hard xxxxxxxxxxx ...

  9. GIS工具-shp浏览器

    GIS工具-shp浏览器 软件特点: 1. 单个文件,windows平台 2. 绿色,不用安装 3.C语言系列开发,非vb,.net,Java等,无需虚拟机,无需运行时,无需第三方工具 获取方法: 十 ...

  10. Oracle 导入大量数据

    环境是这样的: 需要导入大量数据到Oracle,目前Oracle已建立索引和触发器了,导入的数据是树型结构,需要关联. 采用的方法是: 删除以前数据库的索引和触发器,用OracleBulkCopy批量 ...