项目中遇到的问题

来源:互联网 发布:mac 设置localhost 编辑:程序博客网 时间:2024/05/27 20:05
```
时间:2017年09月25日
项目:《金银屋官网》
问题:表单样式在 iOS 手机上不兼容
描述: 按钮和 input 输入框在 iOS 上有默认样式,没有去掉
```


```
时间:2017年09月25日
项目:《金银屋官网》
问题:代码意图和逻辑没理清楚


(function bottonm(){
    if($(document).height()<$(window).height()){
        $('.model-close').css({'position':'fixed','bottom':'20px'});
        $(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.val()获取 选中项的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).({})
     $(“html元素”),$相当于Jquery,意思是选取,查询,或创建页面中的一个或者一类html元素,并对它们进行操作
     $.ajax({}) $.each({}) $.map({})  $作为功能函数的前缀,意为调用(.)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年10月08日
项目:《钱隆归来》
问题:使用display: inline-block后一行元素之间存在间距,导致给定宽度后一行占不下挤到下一行。
描述:元素间留白间距出现的原因是标签段之间的空格,因此去掉html中的空格就可以去除间距。
解决办法:
<div class="investTabs tac">
  <span class="investUser dib">用户</span
  ><span class="investMoney dib">购买金额(元)</span
  ><span class="investTime dib">时间</span>
</div>


```
```
时间:2017年10月08日
项目:《钱隆归来》
问题:使用table布局后,再使用border:0只能去除表格并不能去除表格以及单元格的边框
解决办法:给table加 cellspacing="0" cellpadding="0"


<table class="investTabs" border="0" cellspacing="0" cellpadding="0">


```
```
时间:2017年10月13日
项目:《钱隆归来》
问题:在写计算机属性的时候提示该属性已被定义
描述:先在data里定义后再写的计算机属性,计算属性是被处理经过运算后的值,可以直接用在页面中显示中,不能先定义
computed: {
  rateWidth: function() {
    return parseInt(`${this.data.sale_rate*100}%`)
  }
},


```
```
时间:2017年10月13日
项目:《钱隆归来》
问题:为元素写行内样式时不生效
描述:未用vue重构前,行内样式写法是<div style="width: 8px"></div>
      用vue重构后,此行内样式的值为计算属性中处理后的值,不能用html的文本插值来显示
解决办法:为元素绑定自定义样式。
1.直接引用单个的属性值
//单位要用引号引起来
<div :style = {width: rateWidth + '%'}></div>
<div :style = {width: rateWidth + 'px'}></div>
<div :style = {width: rateWidth + 'rem'}></div>
2.绑定一个对象样式
//此处注意样式写法,可以用驼峰也可以用短横线分隔,但短横线分隔要用引号引起来
<div :style = "styleObject"></div>
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 :


<button>{showName}</button>


```

原创粉丝点击