首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    js 实现 bind 的这五层,你在第几层?

    最近在帮女朋友复习 JS 相关的基础知识,遇到不会的问题,她就会来问我。 ? 这不是很简单?三下五除二,分分钟解决。...第一层 - 绑定在原型上的方法 这一层非常的简单,得益于 JS 原型链的特性。...而改变 this , 我们可以通过已知的 apply 和 call 来实现,这里我们就暂且使用 apply 来进行模拟。首先通过 self 来保存当前 this,也就是传入的函数。...接下来我们还需要自己实现一个 new , 而根据 MDN,new 关键字会进行如下的操作: 1.创建一个空的简单JavaScript对象(即{}); 2.链接该对象(设置该对象的constructor)...Object.create(self.prototype); bound.prototype.constructor = self; } return bound; }; 以上就是一个比较完整的 bind 实现了

    58020

    vue.js项目中用原生js实现移动端的轮播图

    Vue.js项目中封装轮播图组件 前言 一、了解原生js移动端的事件 二、轮播图实战 三、效果图 结束语 前言 今天我在vue.js项目实战开发过程中遇到了实现轮播图效果的问题,因为不想因为一个轮播图而引用整个...jquery,而且我还发现自己根本就不清楚移动端的一些事件,所以我就进行了一些资料查找,并最终解决了这个问题,接下来跟大家分享一下我的解决问题的过程....公众号:前端印象 不定时有送书活动,记得关注~ 关注后回复对应文字领取:【面试题】、【前端必看电子书】、【数据结构与算法完整代码】、【前端技术交流群】 一、了解原生js移动端的事件 原生js移动端的事件一共有四种...: 事件 作用 touchstart 手指放到屏幕上触发 touchmove 手指在屏幕上移动触发(高频触发) touchend 手指离开屏幕触发 touchcancel 系统取消touch事件时触发...因为vue.js项目中都是以组件的形式来开发的,所以我这里就以一个组件的形式来展示,有疑问的可以留言询问。

    9.1K20

    js - 移动端的超出滚动功能,附带滚动条,可解决弹层中滚动穿透问题。

    背景: 弹层里边有可滚动区域时,在移动端的坑我就不多说了。 找了很多解决滚动穿透的方案,最终都不能完美解决。 一气之下自己js撸了一个。 效果图: ?...原理: 1、解决滚动穿透:通过给弹层绑定touchmove和mousewheel事件,取消默认行为实现。...2、取消默认行为后不能滚动:给需要滚动展示的区域绑定touchstart、touchmove和mousewheel事件,监听触发区域的Y值,对应修改可滚动区域的translateY值,实现滚动效果。...37 transY += moveY; 38 if (moveY > 0 && transY > 0) { 39 /* 鼠标向下移动...,对应元素向上回看 */ 40 transY = 0; //到顶 41 } else { 42 /* 鼠标向上移动,对应元素向下翻看

    7.3K10

    js实现键盘操作对div的移动或改变——-Day43

    结果一捯饬,又是好久的一段时间,所以感觉有必要记录下的,一方面确有可取之处,还有一方面也对自己的提醒,刚刚实现过的功能转头又是陌生人了,总的来说,算是温故而知新吧。...这样我们先来分析,要实现键盘操作实现div的移动大概的原理吧: *—要实现div的移动,首先最关键的一点:获取div对象 *—postion:absolute将div全然从文档流中拖出啊,这个地方漏掉了...div的上下左右移动了,接下来,再来记录下敏感地方吧。...还有的解释说是浏览器的解析方式,这个貌似更形象一点,正常的文档流,就好像是一个平面,而一个元素你把它放在哪了,它就在哪,而浮动、固定定位和相对定位,这里分析absolute,就是又一次生成了一个流,脱离了它的父层标签...,就好像之前z-index为0,而这个的z-index就上了它的上面,凭空悬浮在它上面的,能够通过left、top来肆意的挪动它。

    4.3K10
    领券