黑马程序员技术交流社区
标题: 择其善者而从之,其不善者而改之 (前端《慢慢买项目》) [打印本页]
作者: 我要无敌了 时间: 2017-7-21 20:38
标题: 择其善者而从之,其不善者而改之 (前端《慢慢买项目》)
三人行,必有我师焉;择其善者而从之,其不善者而改之。---------------《论语·述而》
这个季节,对于未将脚步踏入社会的人来说,是一个在家里开着空调、吃着西瓜、玩着电脑的中场休息。而对于我来说,甚至对于我们来说,是一个不得不为之奋斗的XXX,而已经过了10多天7月,似乎没有给人留下哪怕一点点的舒适,势要将酷热进行到底。即使如此,也休想让我在前进的道路上逆向行驶。
人生也是一场龟兔赛跑,拥有了出色的弹跳力也不意味着能赢得胜利。时光荏苒,回首再看,似乎还没有来得及和班里的同学一一的说过话,学习的阶段就已进入了尾声。
每个人的刻苦自己知晓,然而天赋固然重要,勤奋也不可缺少。经过了刚刚结束的“慢慢买”项目,对于自己的学习成果都有了一个大概的了解,对于 开始时ajax的数据请求的懵懵懂懂,对于html结构搭建的模模糊糊,之后又对于效果特效的不再犹豫。所有人的水平都有所提升,但是在一个项目的5天时间里,2天被用来写页面,3天用来找bug。如果说,天赋和勤奋是前往必胜道路上的必胜条件,那么良好的记录自己所遇到的问题,就是致胜的绝招了!
很多的同学写的速度特别的快,但没有成为自己的东西再想也没有用。于是,我就一直走着自己的节奏,一直到最后一天。。。在写项目的时候,有些bug都是一些小问题,想法和做法都是正确的,但就是没有效果,细心的解决之后发现,问题在于:1.对于该方法的使用不熟悉,经常会使用错误,举个例子来说:某些标签并不具备某些属性,下面的问题中我也有提到过;2.就是单词、括号这类的错误,我在做项目的时候如果发现错误,第一反应就是回到代码中去找错误,而不是去看控制台,其实目前大部分的错误都可以在控制台里面找到并解决。。。
因为在写项目的时候,太过于热衷解决bug,以至于解决之后感觉问题都是太简单了,以至于一些问题并没有被记录下来,希望要改进这些坏毛病!所以,下面列举了一些我在使用中发现的一些小知识:
1.在白菜价中进度条为1%或很少的时候会变成一个瘦瘦的矩形的问题:
只要给i的设置overflow-hideen,因为浏览器会将超出边框会切掉,而我们对i有了一个圆角,这时,如果子元素超出了圆角的边框时,也会被切掉。
另外,我给了em设置了一点点的maigin-left,所以看上去就和上图差不多
2. 也是白菜价里,关于头部滚动条的方法。一开始使用的是js方法,写了好多行代码,并且还要调试半天。然后就发现了一个更好的办法,其实在基础css中已经学过了,
overflow-y: visible|hidden|scroll|auto|no-display|no-content;
使用方法,如图所示,对ul的父元素设置,这时会默认有滚动条,需要在css中添加一行代码即可,是不是如此的easy呢。
3.在写整个项目的时候,使用toggle()的时候经常遇到,切换无效的问题:①.同样的代码别人的不行,我的就可以。。(/汗);②浏览器的缓存问题,需要清除。!!!!。下面给大家说一下排他思想。
一般来说,之前我们写的都是,清除所有的,再给自己添加。在jq的选择器中,有(:not)这种方法,叫做“除这个以外的xxxx做什么”,图中所示的是“除了id下面的div索引值为xx的下面的div,其他的xxx”........额。知道你懵了,别管我为什么这么写,我高兴!看图吧,你们这么聪明,一定知道我在说什么。
例如索引为0 的时候,即 imgId为0,说明,让id下面的第一个div干嘛
因为我写的div又在下一级,所以又用到了find()方法。你们明白了吗!
4.项目当中,因为除了大量的使用jq基本上都是原生写法。所以其中大量的使用了拼接字符串,和获取/设置标签属性的方法 (注:在第三个问题当中,可以看到,拼接字符串也可以被用在选择器当中)
图中的问题,我不多做解释了,应该都明白是什么。我没有在里面重新用ajax获取地址,而是通过
获取到 a标签中的href属性从而得到链接,(因为现在是在笔记本电脑,所以ctg=笔记本电脑)。上图中的蓝色的ctg是定义的变量。
(注:上图中的代码,显示的页面是下图的,我放在上面一起是想直接看到代码写完后跳转后的效果)。
5.先说一下,我的想法:
①通过点击,获取当前的图片地址,给遮罩(这个比较简单);
②获取到数据写在模板中,组合成了很多的div,每个div都有一个索引,然后点击左箭头/右箭头,获取该索引的的图片地址给遮罩。
一开始,我准备设置<div value=’{{productId}}’><div/> ,效果就是value=0,value=1,value=3........
但是$(“xx”).val(),val()这个方法一般用于input标签。所以行不通。
所以我写了class,但是class=0,class=1,class=2.....???
所以class=‘vid1’; 然后通过截取字符串,然后通过jq选择器获取到下面的src图片的地址,再给遮罩。
vid’是字符串,是class = ‘vid xx’里的vid ; vid_vid是截取后的数字 图上标注错了
最后,对于我们做任何事来说,时间都一直在催促着。要不然我们这么辛苦为了什么?答:当然是努力的升级,组队去打下一个更高级的副本啊,不然一直重复的刷着同一个副本有什么意义呢?!你说呢。
(ps:以上是我在写项目的时候所用的到方法,每个人的想法都不同,当一个方法使用不好的时候,肯定还会发现另外一个更优秀的方法。
最后,嫌弃我写的麻烦的人,你就嫌弃吧,反正我不嫌弃就行了
rgba:255,105,180,1)
作者: 播妞 时间: 2017-7-26 10:24
666加油~
作者: WuPerway 时间: 2018-1-9 00:34
学长棒棒的
作者: 秒杀女神 时间: 2018-2-5 08:54
前端的就业杠杠的!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |