if( ( d o c u m e n t ) . h e i g h t ( ) < (document).height()< (document).height()<(window).height()){
$(‘.model-close’).css({‘position’:‘fixed’,‘bottom’:‘20px’});
( d o c u m e n t ) . h e i g h t ( (document).height( (document).height((window).height()+‘px’);
}
})();
$(‘.model-close’) 是关闭弹出框表单的按钮,不会直接显示在页面,这段代码在 js 文件加载完就立即执行,没有任何意义,反而导致 JS 报错
时间:2017年09月25日
项目:《金银屋官网》
问题:不注意代码风格,没有遵守编码规范;有的代码加了分号有的没加;不该缩进的地方有缩进;同时使用了双引号和单引号;
问题代码 1:
success: function(resp) {
if (resp.retcode === 2000000) {
successshow.show()
event.stopPropagation()
} else {
util.Alert(‘提示’, resp.msg)
}
},
error:function(xhr,type) {
failshow.show()
event.stopPropagation();
}
问题代码 2 (同时使用了双引号和单引号):
$(“#applycode”).on(‘keyup’,function(e){
时间:2017年09月25日
项目:《金银屋官网》
问题:提交信息写错,deploy 写成 delply
commit 018461f1029d44543e69ce9f902d77170b1939e0
Author: MOMO-0902 329053928@qq.com
Date: Mon Sep 25 06:54:29 2017 +0800
修改delply以及部分样式
时间:2017年09月25日
项目:《金银屋官网》
问题:移动端line-height也不能实现准确垂直居中,字体整体靠上
描述:移动端与pc端解析方式不一样,导致line-height出现偏差
解决办法:使用display:table解决问题
问题2:使用display:table后本来不一样的两个元素变的一样高
描述:这是因为display:table是将子元素变成单元格一样的显示方式,所以是等高的
解决办法:给高度较小的盒子外边套一层,再使用vertical-align:center 实现垂直居中
//父元素
.step{
display: table;
height: 20px;
}
//子元素1显示数字
.stepnum {
display:table-cell;
vertical-align: middle;
}
//子元素2显示文字
.stepword {
display:table-cell;
vertical-align: middle;
font-size: 14px;
}
//显示数字,是stpmnum的子元素
.number {
font-size: 12px;
height: 16px;
}
时间:2017年09月26日
项目:《金银屋官网》
问题:未选择房产和金额的时候点击提交按钮,报错 Cannot read property ‘value’ of undefined
let houseoptions = $(“.select-house option”).not(function(){ return !this.selected })
var house = houseoptions[0].value
这段代码是想获取 select选中的option,然后再获取 option的value值,给select设置没有默认选中项,所以当没有手动选择一项就点提交,option的value值也是没有的
解决办法:使用select.val()来获取select选中项的value值
时间:2017年09月26日
项目:《金银屋官网》
问题:未正确分清select option的value和text值
描述:使用select.va
真题解析、进阶学习笔记、最新讲解视频、实战项目源码、学习路线大纲
详情关注公中号【编程进阶路】
l()获取 选中项的value值
option的value值是要发送到服务器的值
select.text()获取所有option的值
option的text值是option的显示内容
时间:2017年09月26日
项目:9.14-9.19一周学习分享
问题:使用click与tap事件报错
描述:由于zepto的touch.js版本过低,导致引入后页面发生事件报错
时间:2017年09月26日
项目:9.14-9.19一周学习分享
问题1:写ajax格式出错
描述:$.ajax({}) 写成了 $(ajax).({})
( “ h t m l 元素” ) , (“html元素”), (“html元素”),相当于Jquery,意思是选取,查询,或创建页面中的一个或者一类html元素,并对它们进行操作
$.ajax({}) $.each({}) $.map({}) 作为功能函数的前缀,意为调用 ( . ) j q u e r y 对象 ( 作为功能函数的前缀,意为调用(.)jquery对象( 作为功能函数的前缀,意为调用(.)jquery对象()的方法(ajax), $(ajax)是利用选择器获取元素,所以并不能在后边加"."
问题2:使用ajax传送数据与接收参数类型搞错
描述:向服务器传送数据应该是data,不是dataType,dataType是期待服务器返回类型,contentType是发送到服务器类型一般为"application/json"
$.ajax({
url: “http://www.baidu.com”,
data: {“username”:username, “password”:password},
dataType: “json”,
contentType: “application/json”,
timeout: 3000,
content: "$(“body”),
success: function() {},
error: function() {}
})
时间:2017年09月27日
项目:《wiki》写笔记
问题:第二个##没有h2的样式
描述:没有给h2下边加一空行,导致h2跟正文样式一样
问题:网页文档加载后的事件不执行
时间:2017.09
描述:第一次写的时候丢了function,这段代码的意思是当页面加载完成后执行此函数里边的函数,所以function(){}不能丢
解决办法:
$(document).ready(function(){
function Func(){}
})
问题:使用$(‘option[selected]’)不能获取slection选中的option值
描述:zepto获取select元素的选中option不能用类似jq的方法$(‘option[selected]’),因为selected属性不是css的标准属性
解决办法:使用$(‘option’).not(function(){ return !this.selected })
比如:jq:$this.find(‘option[selected]’).attr(‘data-v’) * 1
zepto:$this.find(‘option’).not(function() {return !this.selected}).attr(‘data-v’) * 1
但是获取有select中含有disabled属性的元素可以用$this.find(“option:not(:disabled)”)因为disabled是标准属性
时间:2017年10月08日
项目:《钱隆归来》
问题:使用display: inline-block后一行元素之间存在间距,导致给定宽度后一行占不下挤到下一行。
描述:元素间留白间距出现的原因是标签段之间的空格,因此去掉html中的空格就可以去除间距。
解决办法:
用户</span
购买金额(元)</span
时间
时间:2017年10月08日
项目:《钱隆归来》
问题:使用table布局后,再使用border:0只能去除表格并不能去除表格以及单元格的边框
解决办法:给table加 cellspacing=“0” cellpadding=“0”
时间:2017年10月13日
项目:《钱隆归来》
问题:在写计算属性的时候提示该属性已被定义
描述:先在data里定义后再写的计算机属性,计算属性是被处理经过运算后的值,可以直接用在页面中显示中,不能先定义
computed: {
rateWidth: function() {
return parseInt(${this.data.sale_rate*100}%
)
}
},
时间:2017年10月13日
项目:《钱隆归来》
问题:为元素写行内样式时不生效
描述:未用vue重构前,行内样式写法是
用vue重构后,此行内样式的值为计算属性中处理后的值,不能用html的文本插值来显示
解决办法:为元素绑定自定义样式。
1.直接引用单个的属性值
//单位要用引号引起来
2.绑定一个对象样式
//此处注意样式写法,可以用驼峰也可以用短横线分隔,但短横线分隔要用引号引起来
data: {
styleObject: {
‘background-color’: ‘#fff’;
fontSize: ‘12px’
}
}
问题: 验证码倒计时操作Props报错
项目:《钱隆归来》
描述: vue中父组件如果使用props向子组件传递数据后,一般不对props值作操作或改变,因为虽然父组件向子组件传递是单向数据流,但如果Props是一个数组或者对象时,共同引用同一个地址,在子组件改变props值会影响父组件的状态
解决办法: 在data中定义一个局部变量,用Props的值初始化它,操作这个变量,然后再在页面中显示出来
js:
props: [
‘btnname’,
],
data (){
return {
showName: this.btnname,
}
},
function() {
this.showName = ${time}秒后重新获取短信验证码
}
html :
{showName}
问题: vue路由传递参数时传不过去
项目:《钱隆归来》
描述:使用快速注册传递参数错误,应该给router一个name,链接到命名路由,接收params参数,这是使用vue-router传递参数的第一种办法
解决办法:
//router.js
{
path: ‘/login’,
name: ‘login’,
component: Login,
}
//login.tpl 实现从登录页跳转到注册页把手机号传过去,此方法要把 to 写成 :to
快速注册
//signup.tpl 可直接显示此参数
{{$router.params}}
问题:注册页to属性来接收路由传递的参数后未能正常显示在组件中
项目:《钱隆归来》
描述:因注册页是引用input组件,所以要将路由传递的参数通过props传到input子组件中,而在input子组件中使用value值接收v-model传递的参数,所以要将value显示赋值给子组件中input中显示的初始值myvalue.(myvalue是经过运算的props – value值)
解决办法:
//signup.js
props: [
‘value’,
其实前端开发的知识点就那么多,面试问来问去还是那么点东西。所以面试没有其他的诀窍,只看你对这些知识点准备的充分程度。so,出去面试时先看看自己复习到了哪个阶段就好。
这里再分享一个复习的路线:(以下体系的复习资料是我从各路大佬收集整理好的)
《前端开发四大模块核心知识笔记》
最后,说个题外话,我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在IT学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。