美文网首页
2020-09-22

2020-09-22

作者: 铁牛_135e | 来源:发表于2020-09-22 11:37 被阅读0次

VUE

1. vue 滚动行为用法,进入路由需要滚动到浏览器底部 头部等等

使用场景:使用前端路由,当切换到新路由时,想要页面滚到顶部,或者是保持原先的滚动位置,就像重新加载页面那样。 vue-router 能做到,而且更好,它让你可以自定义路由切换时页面如何滚动。

使用 vue-router提供的scrollBehavior方法实现

2. setInterval 在路由跳转后继续运行并没有及时进行销毁

使用场景:比如一些弹幕,走马灯文字,这类需要定时调用的,路由跳转之后,因为组件已经销毁了,但是setInterval还没有销毁,还在继续后台调用,控制台会不断报错,如果运算量大的话,无法及时清除,会导致严重的页面卡顿。

在组件生命周期beforeDestroy停止setInterval

3. vue中 通过vue-router a组件跳转到b组件a组件内的绑定的事件会影响b组件吗?

答:组件中methods中绑定的事件会被销毁.(但是绑定给window的事件如果不手动销毁会一直存在。)

4. vue中 通过vue-router a组件绑定在window上的事件会影响b组件吗?(说出原因)

答:会影响,因为vue是单页面应用,绑定在全局的事件,例如滚动事件。如果在组件销毁时不手动解绑,事件会一直存在。
mounted() {  
      window.addEventListener('scroll', this.handleScroll)
    }
unmounted() {
      // 解绑全局事件,否则会在所有页面都触发这个事件,这就需要解绑。
      window.removeEventListener('scroll', this.handleScroll)
}

5. vue 实现PC端自定义滚动条 ** 兼容火狐 **

CSS

1. css中::before 和 :after中双冒号和单冒号 有什么区别?解释一下这2个伪元素的作用

  • 单冒号(:)用于CSS3伪类,双冒号(::)用于CSS3伪元素
  • 用于区分伪类和伪元素

2. 在IE9中不支持css的transition和CSS动画,想实现一个缓动效果要怎么实现?

可以使用js定时器或者使用jquery的animate方法

JS

1. 切换背景图片出现闪屏

答:图片资源未加载完成,先加载再进行切换。

   let img = new Image();
   img.src = xxx.jpg;
   img.onload = function () {
   //图片加载完成再进行切换
   }

2. JS禁用鼠标滚轮滚动页面

答:图片资源未加载完成,先加载再进行切换。

<body>
<div id="big-box">...</div>
</body>
//取消默认事件
let bigBox = document.querySelector("#big-box");
function stopDefault(e) {
  if (e.preventDefault) {
    e.preventDefault();
    e.stopPropagation();
  } else {
    window.event.returnValue = false;
    e.cancelBubble = true;
  }
  return false;
}

/* 以下的 bigBox为页面中最外层盒子
经测试绑定在body,html或者window上滚动会一直报这个错误
[Intervention] Unable to preventDefault inside passive event listener due to target being treated as passive. See <URL>(由于目标被视为被动,无法在被动事件监听器中阻止缺省事件。)
*/

//开放滚动
function startwheel() {
  bigBox.removeEventListener('DOMMouseScroll', function (e) {
    var e = e || window.event;
    stopDefault(e);
  }, false);
  bigBox.onmousewheel = null;
}

//禁用滚动
function stopwheel() {
  var str = window.navigator.userAgent.toLowerCase();
  if (str.indexOf('firefox') !== -1) { //火狐浏览器
    bigBox.addEventListener('DOMMouseScroll', function (e) {
      var e = e || window.event;
      //阻止窗口默认的滚动事件
      stopDefault(e);
    }, false);
  } else { //非火狐浏览器
    bigBox.onmousewheel = function (ev) {
      var e = ev || window.event;
      stopDefault(e);
    };
  }
}

相关文章

  • Mysql中查询json字段中某个值

    单个json查询 表字段: idinfocreated_at1["Alx","Bob"]2020-09-22 19...

  • Day5实现梦想的桥梁

    2020-09-22 Day5 起床5:30 ,日出6:10。 计划是实现梦想的桥梁。 我们的工作是让计划成为现实...

  • 逃生的速率和姿态

    我怎么如此幸运-重生25-戴红霞(2020-09-22) 我怎么如此幸运-逃生的速率和姿态 1.我怎么如此幸运今天...

  • 相信,再努力一点

    2020-09-22 开学已三周,在过去的三周里,我主要对学生进行了如下行规教育:书本和书包的正确摆放、课...

  • 2020-09-22

    1 . 凌晨四点钟,看见海棠花未眠。 总觉得这时,你应该在我身边。 2 . 从粗粝的一生中榨尽所有温柔,悉数奉献与...

  • 2020-09-22

    日更21天了,觉得没写什么吧,又觉得自己写了,写了吧重新打开文章却没有一点记忆。 告诉自己继续坚持,文字就是用了表...

  • 2020-09-22

    一自然段:全备而专一的知识,是古人做官的前提条件。官员从事政务要达到完美境界,必须具备全面且专业的知识。 西周官制...

  • 2020-09-22

    今天是忙碌的一天,儿子最近的英语有点费力,好怕他退步,作为家长我也是万分焦急,每天作业完成就不早了感觉也没有时间给...

  • 2020-09-22

  • 2020-09-22

    今天写点儿什么呢,临近月末意志又有些消沉。就好像是月初刚打完的气到月末就慢慢消耗完了。最近身体状况堪忧呀!腰酸背痛...

网友评论

      本文标题:2020-09-22

      本文链接:https://www.haomeiwen.com/subject/krcwyktx.html