zoukankan      html  css  js  c++  java
  • 日常问题记录

    开个随笔记录一下日常的问题

    工作积累、学习积累

    ————————————————————————————————————————————————————————————————————————————————————

    2019.09.07

    Q:div的height属性由0和auto之间切换时,不会触发transition的效果

    A:使用max-height属性,20200520 补充: 不能用百分号!换成px!

    注:当值是auto时不会有效果,建议给一个较大的值

    —————————————————————————————————————————————————————————————————————————————————————

    2019.09.09

    Q:本地文件不能通过ajax访问本地json

    A:

      Windows:设置Chrome的快捷方式属性,在“目标”后面加上--allow-file-access-from-files,注意前面有个空格,重新打开Chrome即可。

      Mac:只能通过终端打开浏览器:打开终端,输入下面命令:open -a "Google Chrome" --args --disable-web-security然后就可以屏蔽安全访问了[ --args:此参数可有可无]

    —————————————————————————————————————————————————————————————————————————————————————

    2019.09.10

    Q:JS打印网页

    A:window.print()   在IE中会跳过打印预览,但在chrome和360中会默认打开预览。为了测试可以选择保存为本地pdf。

    Q:Img加载失败时加载默认图片

    A:通过<img onerror="onerror='';className='showErrorImg'">  在Img的onerror中可以直接写js语句,当图片加载失败时执行。

    Q:git第一次提交时 git push 失败

    A:git push -u origin master 一定要写完整!

    ————————————————————————————————————————————————————————————————————————————————————————————————

    2019.09.11

    Q:用vw做font-size单位时,firefox打印时比chrome字体小

    A:chrome最小只会12px

      解决办法:可以通过缩放chrome解决。

           本次需求是打印时除chrome外浏览器字体太小,因此在媒体查询打印时 字体最小为12px;标题最小为14px;

    Q:icon在服务器上变成乱码

    A:紧急解决。替换为img。猜测由于项目编码导致。

    ——————————————————————————————————————————————————————————————————————————————————————————————————

    2019.09.12

    Q:移动端点击图片放大,并且可以支持缩放

    A:借用swiper库,之后贴上详细链接

    Q:PC监听鼠标键盘20秒无动作自动退出

    A:学习优秀代码,先码再品,之后贴上详细链接

      监听鼠标键盘  链接:https://www.cnblogs.com/zhuxingqing/p/11511529.html

    ———————————————————————————————————————————————————————————————————————————————————————————————————

    2019.09.17

    Q:背景图随着容器div大小伸缩

    A: background-size: cover;

      background-repeat: no-repeat;

      background-image: url(...);

    2019.09.18

    Q:vue在控制台报警告

    A: ① 标签名完全非法,不符合 <标签名></标签名> 的格式

      ② 与HTML原有的标签重名,比如图中的header标签为html5新增语义化标签

      ③ 与 Vue 保留的 slot、partial、component 重名

    Q:使用margin-left制作过渡动画时,导致页面容器被撑大,疑似页面缩放失效

    A:在父级元素加上overflow: hidden

    ——————————————————————————————————————————————————————————————————————————————————————————————————

    2019.09.19

    Q:display在none和block之间变换时,无法通过transition附加过渡动画

    A:建议使用visible + opacity添加过渡动画

      注:如果在使用某些框架的组件(如panel组件),无法拒绝使用display的情况下,可以自己定义动画如下:

        

    @keyframes dis-tran-show{
       0% {
            opacity: 0;
       }
       100% {
            opacity: 1;
       }
     }
     .layui-colla-content{
        animation: dis-tran-show 1s ease-out;
     }

        将这个class添加到元素上也可以实现过渡效果

    Q:前端加密url中参数

    A:

    var url = "./table.html?" + window.btoa(window.encodeURIComponent("id=1232"))
    var encode = url.split('?')[1]
    console.log(window.decodeURIComponent(window.atob(encode)))

    ——————————————————————————————————————————————————————————————————————————————————————————————————

    2019.09.20

    Q:JS计算两个日期直接相差天数

    A:(dt2.getTime() - dt1.getTime()) / 1000*60*60*24

    Q:后端穿回来的字符串带了转义字符怎么处理

    A:创建一个dom对象,使用dom的innerHTML转成字符串穿回来变成JSON格式

      例:

         var htmlStr = "{&quot;other&quot;:&quot;&quot;,&quot;value&quot;:&quot;无症状,&quot;}"
            var hide = document.createElement('div')
            hide.innerHTML = htmlStr
            res = JSON.parse(hide.innerHTML)
            value = res.value

    Q:layui中根据后端数据重新渲染checkbox怎么做

    A:对checkbox处理和其他一样,重要的是需要最后render重新渲染

      

      layui.use(['form', 'element', 'layer'], function () {
          var form = layui.form
          var element = layui.element
          var layer = layui.layer
    //获取复选框数组
          var zzInput = document.querySelectorAll('#zz input')
          zzInput = Array.prototype.slice.call(zzInput)
          zzInput.forEach((item, index) => {
              //重置选中状态
              item.checked = false
              if (value.indexOf(item.title) !== -1) {
                  item.checked = true
              }
          })
        //layui需要重新渲染
          form.render('checkbox')
        })

    ——————————————————————————————————————————————————————————————————————————————————————————————————————

    2019.09.21

    Q:动态获取JS对象的属性值

    A:例:已知 dt= {other:"", value: "无症状"}, 需要根据参数去获取other或者value

               var key = "value";   return dt[key];  //key可以为传入的参数

    ——————————————————————————————————————————————————————————————————————————————————————————————————————

    2019.10.19

    Q:在form表单的onSubmit中调用的方法里使用event.preventDefault() 或是 return false 都不生效

      

           

     A:form中修改为 onSubmit={this.handleLogin}

      通过alert event发现为undefiened,推测箭头函数中导致event丢失

    Q:axios回调写成function时this失效

      

       此时this为 undefined

    A:修改为箭头函数后,this指向当前组件

      

    ————————————————————————————————————————————————————————————————————————————————————————————————————————

    2019.10.30

    Q:JSON串转换报错,未知的语法错误

    A:打开https://www.json.cn/,在控制台中把JSON串打印出来,粘贴到格式化工具中,能看到具体的错误。

      本次遇到的问题是:JSON串中含有回车/换行,str.replace(/[ ]/g,"") 去除回车和换行,再JSON.parse就好了

    Q:使用layui的数据表格时,在eclipse中编译报错,说是语法错误

    A:由于官网提供的写法有连续两个中括号, 将两个中括号分隔开,

    ————————————————————————————————————————————————————————————————————————————————————————————————————————

    2019.11.5

    Q:dom.nextSibling 取到了#text这样的东西,原本是想取一下个div

    A:使用nextElementSibling,保证取到的是dom节点

    ————————————————————————————————————————————————————————————————————————————————————————————————————

    2019.11.9

    Q:使用position时,给top:-10%/-10vh; 发现和tranform: translateY(-10%) 的效果不一样,距离差距较大

    A:top的参考是父级的块级元素的高度,而translate是参考元素自身的高度

    ——————————————————————————————————————————————————————————————————————————————————————————————————

    2019.11.19

    Q:摘自之前遇到的问题:

    2019.09.07

    Q:div的height属性由0和auto之间切换时,不会触发transition的效果

    A:使用max-height属性

    A:猜测transition只能用于重绘的属性

    ___________________________________________________________________________________________________________________________________________________________________________________________________________

    2019.12.10

    Q:判断数组中是否包含该对象使用了Array.prototype.indexOf,返回了-1

    const beasts = ['ant', {'id':'01','name':'zxq'}, 'camel', 'duck'];
    console.log(beasts.indexOf({'id':'01','name':'zxq'})); // -1

    A:不对用于匹配对象,建议将需要匹配的字段单独取一个数组,再去匹配是否包含

    ___________________________________________________________________________________________________________________________________________________________________________________________________________

    2019.12.19

    Q:设置opacity做蒙版层时遇到问题,发现蒙版层内的元素也会受到透明度影响

    A:子元素的opacity是基于父元素的来计算的,因此父元素应该用background-color: rgba(0, 0, 0, .7); 来实现透明度效果

    Q:红包页需要下半部分椭圆边框,没有可用的图片

    A:父元素overflow:hidden; 当前元素200%; top:0; left:-50%; border-radius: 0 0 50% 50%;

    Q:背景图的宽度自适应

    A:background-repeat: no-repeat; background-position: 50%; background-size: 59vw auto;

    ————————————————————————————————————————————————————————————————————————————————————————————————————————

    2019.12.31

    Q:使用变量作为obj的key

    A:https://blog.csdn.net/willingtolove/article/details/89577140 其中 obj = {[key]: value} 是es6语法 有兼容问题

    ————————————————————————————————————————————————————————————————————————————————————————————————————————

    2020.03.18

    Q:Java的long型时间戳怎么用JS转换成可读的

    A:new Date(parseInt("" + data.pnCreatetime)).toLocaleString()

    ————————————————————————————————————————————————————————————————————————————————————————————————————————

     2020.03.20

     Q:怎么放大input 的checkbox

     A:

    ————————————————————————————————————————————————————————————————————————————————————————————————————————

     2020.03.20

    Q:mysql插入语句时总报错

    A:后发现可能是列名试用了关键字,没有加反引号,经过手动插入一条后,复制系统生成的语句插入成功

    ————————————————————————————————————————————————————————————————————————————————————————————————————————

     2020.04.20

    Q:接到个需求,要给input框添加点击事件,但是input是disabled的

    A:此处为disabled和readonly的区别,disabled不可点击不能获取焦点也不能触发点击事件,readonly是可以的

    —————————————————————————————————————————————————————————————————————————————————————

    2020.05.19

    Q:localStorage时间太长,想添加一个有效时间

    A:localstorage本身没有像cookie一样的设置有效时长,需要在setItem同时把now Date() 记录在storage,每次取storage之前取出来做判断。

    —————————————————————————————————————————————————————————————————————————————————————

    2020.05.20

    Q:vue在加载页面之前判断token是否有效时,无效弹框提醒,发现页面出现 {{p.name}} 的字样

    A:使用 v-clock 可以解决页面闪烁的问题

      用法:   <div id="app" v-cloak></app>

    ——————————————————————————————————————————————————————————————————————————————————————————

    2020.05.22

    Q:需求:选中checkbox可以把对应的P标签转换成textarea并进行内容编辑,再提交给后端,要求编辑后保存时,保留原换行

    A:第一步很简单,checkbox勾选后把innerHTML赋值给新创建的textarea。由于textarea中不能包含<p>等标签,会直接显示出来,所以把每一句拿出来添加 "&#10;” 控制换行。

      问题关键在第二步,提交时发现取不到换行符

      

       最终发现通过判断 能获取到!

       解决!

    ——————————————————————————————————————————————————————————————————————————————————————————

    2020.05.26

    Q:string.substr截取字符串怎么用

    A: str.substr(0, length) ,注意参数,第一个是起始位置,第二个是结束位置,0为闭区间,length为开区间,即 [0, length)

    Q:判断字符串的最后一个回车是否在结尾

    A:if (str.lastIndexOf(" ") === str.length-1) {}

      

     Q:子元素设置了margin,父元素没有,但父元素也会产生margin效果?

     A:父子元素和相邻元素会触发margin合并

    ———————————————————————————————————————————————————————————————————————————————————————————

    2021.2.24

    Q:如何查看jquery元素绑定的方法

    A:$._data($('#publicBtn').get(0))     其中$('#publicBtn')为我需要查看的按钮

    示例结果如下:

     

  • 相关阅读:
    《杜教筛》
    《洛谷P4213 【模板】杜教筛(Sum)》
    《洛谷P1829 [国家集训队]Crash的数字表格 / JZPTAB》
    《纸牌问题》
    《洛谷P2522 [HAOI2011]Problem b》
    使用urlretrieve下载图片
    scrapy初探
    爬豆瓣电影名
    直接插入排序
    Windows python 3 安装OpenCV
  • 原文地址:https://www.cnblogs.com/zhuxingqing/p/11489947.html
Copyright © 2011-2022 走看看