2019年12月第一周前端问题汇总

2019-12-01
  • 获取浏览器高度、宽度。

    <div id="outer">
       <div id="inner">
          <div id="dot"></div>
       </div>
    </div>
    #outer{
        width: 300px;
        height: 300px;
        background-color: aquamarine;
        margin: 0 auto;
        overflow: hidden;
    }
    #inner{
        width: 150px;
        height: 150.5px;
        background-color: chartreuse;
        padding: 50px;
        border: 10px solid slateblue;
        margin: 15px;
        font-size: 50px;
        overflow: hidden;
        word-break: break-all;
    }
    #dot{
        width: 100%;
        height: 100%;
        background-color: tomato;
        overflow: scroll;
    }
    1. clientWidth/clientHeight

    元素的可见宽度、高度。text-area + padding-area 不包括滚动条等边线,会随窗口的显示大小改变。内联样式以及css样式的元素的clientWidth属性值为0

    var ele = document.getElementById('inner');
    var clientWidth = ele.clientWidth;
    var clientHeight = ele.clientHeight;
    console.log(clientWidth);  //250
    console.log(clientHeight);  //251

    ? 2.offsetWidth/offsetHeight

    元素的布局宽度、高度。text-area + padding-area + border-area 包括滚动条(scrollbar)。

    该属性会round(四舍五入)为一个整数。使用ele.getBoundingClientRect()获取fractional(小数)

    var offsetWidth = ele.offsetWidth;
    var offsetHeight = ele.offsetHeight;
    console.log(offsetWidth);    //270
    console.log(offsetHeight);  //271

    ele.getBoundingClientRect()方法返回元素的大小及相对于视口的位置。

    console.log(ele.getBoundingClientRect());
    //DOMRect{bottom: 293.5,height: 270.5,left: 581.5,right: 851.5,top: 23,width:     270,x: 581.5,y: 23}

    3.scrollWidth/scrollHeight

    元素的内容宽度,包括overflow溢出而在屏幕上不可见的内容。等于元素在不适应水平/垂直滚动条情况下适合视口中所有内容所需的最小宽度/高度。text-area + padding-area,包括滚动条和伪元素的宽度/高度。

    如果元素的内容可以适合而不需要水平滚动条,则scrollWidth = clientWidth。

    var scrollWidth = ele.scrollWidth;
    var scrollHeight = ele.scrollHeight;
    console.log(scrollWidth);  //250
    console.log(scrollHeight);  //251

2019-12-04
  • 关于select的处理

    <select id="sel">
        <option value="0">0</option>
        <option value="1">1</option>
        <option value="2">2</option>
    </select>
    • 设置默认值

      //给option添加selected属性
      document.getElementById("sel")[0].selected = true
    • 获取选中的值
      document.getElementById("sel").value
    • 动态添加select
      var sel = document.createElement("select")
      sel.id = "sel";
      document.body.appendChild(sel)
    • 动态添加option
      var obj = document.getElementById("sel");
      sel.add(new Option("hello",1))
    • 动态删除option
      //删除选中的option
      var obj = document.getElementById("sel");
      obj[0].selected = true
      // 获取选中的option的index值
      var index = obj.selectedIndex
      obj.options.remove(index)
      
      //删除所有option
      obj.options.length = 0;
    • 修改option的值
      obj.options[0] = new Option("hello again",2)
    • 删除select
      obj.parentNode.removeChild(obj);
2019-12-05
  • iview RadioGroup默认值的设置

    //label属性值为string时,可直接绑定
    <RadioGroup v-model="status">
      <Radio label="app">app</Radio>
      <Radio label="app2">app2</Radio>
    </RadioGroup>
    
    data(){
      return {
          status:"app"
      }
    }
    
    //label属性值为number时,应使用:label绑定
    <RadioGroup v-model="status">
      <Radio label="0">app</Radio>
      <Radio label="1">app2</Radio>
    </RadioGroup>
    
    data(){
      return {
          status:1
      }
    }
  • js判断字符串中是否包含某个字符串
    /* indexOf(str,index) 返回某个指定的字符串值在字符串中首次出现的位置。
      str 为要检验的字符自串,必填;index为检测开始的位置,选填
      返回值为-1时表示不包含 */
        var str = "hello";
        var res = str.indexOf("l", 2);
        console.log(res);  //2
    
    /* search(str) 用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串。
       str 可以为要检验的字符子串,也可以为检验的RegExp对象。
       如果没有找到任何匹配的子串,则返回 -1。
        search() 方法不执行全局匹配,它将忽略标志 g。它同时忽略 regexp 的 lastIndex 属性,并且总是从字符串的开始进行检索,这意味着它总是返回 stringObject 的第一个匹配的位置。*/
        var res2 = "hello".search("o");
        console.log(res2);  4
    
    /* match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。它返回指定的值,而不是字符串的位置。*/
        var res3 = "hello world".match("world")
        console.log(res3);  //...world
    
    /* 正则匹配 */
    /* test() 用于检索字符串中指定的值。返回 true 或 false。*/
        var res3 = RegExp(/3$/).test("123")
        console.log(res3);  //true
    
    /* exec() 用于检索字符串中的正则表达式的匹配。返回一个数组,其中存放匹配的结果。如果未找到匹配,则返回值为 null。*/
        var res4 = RegExp(/lo$/).exec("hello")
        console.log(res4);  //...lo
2019-12-07
  • webpack打包运行vue 时报错:vue-loader was used without the corresponding plugin. Make sure to include VueLoaderPlugin in your webpack config.

    vue-loader的官方文档中说明,

    Vue Loader v15 now requires an accompanying webpack plugin to function properly

    vue-loader v15需要搭配一个webpack插件(VueLoaderPlugin)才能使用

    //wwebpack.config.js
    
    const VueLoaderPlugin = require('vue-loader/lib/plugin')
    
    module.exporte = {
        ...
        plugins:[
            new VueLoaderPlugin()
        ]
    }

原文地址:https://www.cnblogs.com/dairyDeng/p/12012536.html

时间: 2024-11-14 12:52:45

2019年12月第一周前端问题汇总的相关文章

33.《高血压看这本就够了》摘录-陈罡——2019年12月22日

.bodyContainer { font-family: Arial, Helvetica, sans-serif; text-align: center; padding-left: 32px; padding-right: 32px; } .notebookFor { font-size: 18px; font-weight: 700; text-align: center; color: rgb(119, 119, 119); margin: 24px 0px 0px; padding:

2019-12-7linux周考王菲

Windows.Linux周考1. system V init运行级别及作用(8)*2.5Init运行级别 作用0 1 2 3 4 5 6 Emergency 2. 使用root用户登录linux,登录后终端的提示符是什么?3. 建立一个账户名是tom,密码是root的用户4. 在第二号虚拟终端登录tom用户过程?5. 退出命令6. 命令格式包含什么,具体含义是什么?(6)7. whoami命令的功能8. who命令的功能9. who命令的输出结果10.目前登录的linux系统,输入who命令,

蔡康永的说话之道——2019年12月15日

.bodyContainer { font-family: Arial, Helvetica, sans-serif; text-align: center; padding-left: 32px; padding-right: 32px; } .notebookFor { font-size: 18px; font-weight: 700; text-align: center; color: rgb(119, 119, 119); margin: 24px 0px 0px; padding:

23.密码学知识-加密介绍-1——2019年12月19日

2019年12月19日14:51:00 1. 第1天 - 对称加密 1.1 基础知识点 知识点大纲介绍 密码的基础概念 对称加密 非对称加密 单向散列函数 哈希函数 消息认证码 数字签名 证书 ssl/tls - https 为什么要加密, 以及解决方案 保证数据安全 加密三要素 明文/密文 秘钥 定长的字符串 需要根据加密算法确定其长度 算法 加密算法 解密算法 加密算法和解密算法有可能是互逆的, 也有可能相同 常用的两种加密方式 对称加密 秘钥: 加密解密使用的是同一个秘钥, 秘钥有一个 特

2019年12月8日 运飞龙 linux

1.system v init运行级别及作用 init运行级别                  作用 0                                  关机 1                                  单用户模式 2                                  多用户的文本界面 3                                  多用户的文本界面 4                             

19.go语言基础学习(上)——2019年12月16日

2019年12月16日16:57:04 5.接口 2019年11月01日15:56:09 5.1 duck typing 1. 2. 接口 3.介绍 Go 语言的接口设计是非侵入式的,接口编写者无须知道接口被哪些类型实现. 而接口实现者只需知道实现的是什么样子的接口,但无须指明实现哪一个接口. 编译器知道最终编译时使用哪个类型实现哪个接口,或者接口应该由谁来实现. 每个接口类型由数个方法组成.接口的形式代码如下: type 接口类型名 interface{ 方法名1( 参数列表1 ) 返回值列表

2019年12月我主要的业力对应关系

本文记录12月我的业力因果,分享给大家,愿协助世界意识更加地提升-感谢- 种子 花了一天时间回顾业力因果,发布了<2019年9-11月份我主要的业力对应关系> 结果 第二天上午,我突然想起了年中尝试过的WebGPU.那时在我的电脑上没有跑起来,于是我就放弃了.我突然领悟到,也许是我电脑的操作系统版本太低,需要升级.于是我就升级了系统,结果就能运行WebGPU了! 种子 在我电脑上能够运行WebGPU 结果 我开始写WebGPU学习系列博文. 我的目的是: 1.通过写文章,来促使自己进一步学习W

2019年11月第五周前端问题汇总

2019-11-26 自执行函数 //一般来说,我们在使用函数时,通常会分这样几步 //1.定义一个函数 function func(){ console.log(1) } //2.定义一个变量接受func函数 或直接调用 var a = func(); //2.函数调用 a() //输出1 //自执行函数就是将上面综合,定义时直接调用 var b = function (i){ console.log(i) }(2) //输出2 //理论上来说,自执行的匿名函数可以写为 function(x)

2019年12月(2)

关于文化课 月考成绩出来了,窝年级540名,光荣成为信息组吊车尾. 好消息是,以前的老本被证明是有用的,除了语文和英语其他科目都在班上前十或者前五. 一个更重要的好消息是,在我和班主任的积极沟通下,班主任也支持我高考外语科目选考日语啦~~ 看来可以水很长一段时间的文化课啦 关于OI 这个星期把重点放在了图论知识的复习上,除了<挑战>上面的题目之外,还在洛谷上写了很多有关最短路,最小生成树的题目.还写了几个差分约束的题目,之前差分约束总是不清楚怎么连边,现在基本上搞清楚了. 时隔一个月,星期六上