首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

CSS3去除移动端点击元素产生高亮背景色

CSS3去除移动端点击元素产生高亮背景色 做了一段时间移动端项目了,碰到了一个顽固BUG: 即点击一个icon元素时候,发现底部会有一块蓝色高亮。...最终,只用了一小段css代码就解决了 tap-highlight-color (移动端上)有事件监听元素被点击时候会被高亮显示,比如我android上表现为一个蓝框加上半透明背景,这有时候会和我本来样式格格不入...以下是对应 CSS 代码: tap-highlight-color: transparent; -webkit-tap-highlight-color: transparent; 这个属性是用于设定元素移动设备...(如Adnroid、iOS)上被触发点击事件,响应背景框颜色。...想要禁用这个高亮,设置颜色alpha值为0即可。 也可以通过rgba设置颜色,例: -webkit-tap-highlight-color: rgba(255,0,0,0.5);

13410

2019年最全web前端知识体系汇总

www.jshint.com/ · JSLint: http://www.jslint.com/ 代码规范 · Code Guide: http://alloyteam.github.io/code-guide/ · 编写维护...-web中创建炫酷浮动粒子库: · Fullpage.js—快速实现全屏滚动特性: · Highlight.js—web 语法高亮: · Waypoints.js—滚动到某个元素位置触发一个功能:...diff 工具 · Vivus.js—在 SVG 上绘制动画 · Wow.js—滚动展现动画 · Scrolline.js—页面滚动显示滚动进度 · Velocity.js—快速流畅 JavaScript...动画 · Animate on scroll—漂亮页面滚动元素动画 · Handlebars.js—Javascript 模板 · jInvertScroll—视差滚动 · One page scroll... Hybrid 选择框 · Nice select—创建漂亮选择框 jQuery 库 · Tether—使用固定定位来创建相关元素 · Shepherd.js—为应用创建新手引导 · Tooltip—tooltip

2.8K00
您找到你想要的搜索结果了吗?
是的
没有找到

数据结构与算法学习笔记之如何分析一个排序算法?

时间复杂度表示是规模很大一种增涨趋势,很容易就忽略系数,低阶,常数等,实际开发中排序规模都是像10.100.1000这种小规模 3. 比较次数,交换(或移动)次数。...稳定性概念:如果待排序序列中存在值相等元素,经过排序之后,相等元素之间原有的先后顺序不变。 2. 稳定性重要性:针对对象多种属性进行有优先级排序3. ...冒泡排序只涉及相邻数据交换,只需要常量级临时空间,所以它空间复杂度O(1)是原地排序算法 稳定性:当有相邻两个元素大小相等,不做交换,冒泡排序是稳定排序算法。...排序区间元素和已排序区间元素相同时,它可以放在已排序区间相同值前或后,所以为不稳定排序 时间复杂度: 1. 最好情况:O(n2)。 2. 最坏情况:O(n2)。 3. ...答:它们元素比较次数以及交换元素次数都是原始数据逆序度,是一个固定值,但是从代码实现上来看,冒泡排序数据交换要比插入排序数据移动要复杂,冒泡排序需要3个赋值操作,而插入排序只需要1个,他们 时间复杂度上都是

35330

FlutterUnit 周边 | 收录排序算法可视化

交互界面介绍 在移动端,排序算法可视化被放在 知识/可视排序 页签下,左上角绿色按钮点击后启动排序,从而驱动数字列表数据变化,更新主界面产生排序动态效果。...便于比较不排序算法下,同一组数据表现。 3. 项目的结构 这里核心代码新建了一个 algorithm 包来单独维护,其中 algorithm/sort 文件夹中盛放排序具体算法。...for (int i = 0; i < src.length; ++i) { //遍历当前排序元素,通过相邻元素比较并交换位置来完成排序。...SortState 调用 sort 方法触发排序,会根据排序算法名,从 sortFunctionMap 中拿到排序算法调用。每次回调触发 notifyListeners 方法通知更新。...; } 如果某个组件是数据依赖者,在监听对象发生变化时,会通知其更新。拿 SortButton 来说,他需要依赖排序状态 SortStatus 数据来展示不同图标,或响应不同事件。

16430

算法一看就懂之「 插入排序

第一遍循环,从“排序区段中拿出元素3,它比“已经排序”段中元素8小,因此需要将元素8向后移动一位,留出空位让元素3插入。这次只需要移动一个元素,表中也标注了移动次数为1次。...第二遍循环,从“排序区段中拿出元素6,它比“已经排序”段中元素3大、比元素8小,因此元素3不动,只需要将元素8向后移动一位,留出空位让元素6插入,这次移动次数也为1次。...第三遍循环,从“排序区段中拿出元素2,它比“已经排序”段中元素2小,因此需要将元素3元素6、元素8均向后移动一位,留出空位让元素2插入,这次移动次数为3次。...第四遍循环,从“排序区段中拿出元素7,它比“已经排序”段中元素6大、比元素8小,因此需要将元素8向后移动一位,留出空位让元素7插入,这次移动次数为1次。...第五遍循环,从“排序区段中拿出元素9,它比“已经排序”段中元素8大,因此“已经排序区段无需移动,直接在最后位置将元素9插入,这次移动次数为0次。

60510

【算法复习1】时间复杂度同为n2冒泡排序 插入排序 选择排序三者分析

插入排序 是从 排序数据中 找到合适 从前面插入,不打乱顺序 更稳定,天生适合 链表 结构 适合增删改查 节点, 移动赋值操作 冒泡排序数据交换要比插入排序数据移动要复杂,冒泡排序需要 3...稳定性概念:如果待排序序列中存在值相等元素,经过排序之后,相等元素之间原有的先后顺序不变。 2. 稳定性重要性:针对对象多种属性进行有优先级排序3....四、插入排序 插入排序将数组数据分成已排序区间和排序区间。初始已排序区间只有一个元素,即数组第一个元素。...在排序区间取出一个元素插入到已排序区间合适位置,直到排序区间为空。 空间复杂度:插入排序是原地排序算法。 时间复杂度: 1. 最好情况:O(n)。 2....五、选择排序 选择排序将数组分成已排序区间和排序区间。初始已排序区间为空。每次从未排序区间中选出最小元素插入已排序区间末尾,直到排序区间为空。

1.9K20

【实战技巧】VUE3.0实现简易拖放列表排序

例如,用户可使用鼠标选择拖拽(draggable)元素,将元素拖拽到可放置(droppable)元素,并释放鼠标按钮以放置这些元素。拖拽操作期间,会有一个拖拽元素半透明快照跟随着鼠标指针。...拖拽事件 可用拖拽事件一共有七个,其中三个是用于拖拽元素 dragstart 在元素开始被拖动触发 dragend 在拖动操作完成触发 drag 在元素被拖动触发 四个是用于释放区域 dragenter...当被拖动元素进入到释放区所占据屏幕空间触发 dragover 当被拖动元素在释放区内移动触发 dragleave 当被拖动元素没有放下就离开释放区触发 drop 当被拖动元素在释放区里放下触发步骤...(' ~ dragenter 触发啦'); } // 当被拖动元素在释放区内移动触发 const handleDragover = (ev) => { ev.preventDefault...原生js实现拖拽排序我还没有弄,但是在vue中就非常简单,因为我们在触发任何事件时候,都可以拿到元素index,我们可以靠index轻易实现。

1.9K40

drag事件详解:html5鼠标拖动排序及resize实现方案分析及实践

源对象事件: dragstart:源对象开始拖放,开始移动时事件触发 drag:源对象拖放过程中,移动被拖拽对象触发 dragend:源对象拖放结束,整个拖放操作结束触发。...过程对象事件: dragenter:源对象进入过程对象范围内,被拖拽对象进入过程对象触发 dragover:源对象在过程对象范围内移动,被拖拽对象在过程对象内移动触发 dragleave:源对象离开过程对象范围...,被拖拽对象离开目标对象触发拖动事件列表每一个拖动元素,在拖动过程中,都会经历三个过程,拖动开始-->拖动过程中--> 拖动结束在拖动目标上触发事件 (源元素-被拖动元素):ondragstart...- 在元素开始被拖动时候触发——拖动什么ondrag - 在元素被拖动反复触发ondragend - 在拖动操作完成触发释放目标触发事件(目的地对象):ondragenter - 当被鼠标拖动对象进入其容器范围内触发此事件...进行放置针对对象事件名称说明被拖动元素dragstart在元素开始被拖动时候触发drag在元素被拖动反复触发dragend在拖动操作完成触发目的地对象dragenter当被拖动元素进入目的地元素所占据屏幕空间触发

6.2K21

【译】算法记录

最好情况 目标元素刚好在元素中间,所以我们刚开始就可以停止搜索。 用大O表示法,这会被转换成Ω(1)。 冒泡排序 冒泡排序:将大值移动到数组右边,将小值移到数组左边。...知道最大n-1个元素将向右冒泡,因此排序可以在n-1个通过之后停止。 当重新遍历数组,只要考虑没有排序元素。当交换器保持为0,就没有其他要交换内容了。...最好情况: 数组已经是完美排序好了,导致第一遍就没有元素交换。 用大O表示法,这会被转换成Ω(n)。 选择排序 找到最小排序元素,然后将它放到排序列表末尾。...最坏情况: 必须重复n次排序过程才能迭代数组中每一个,以找到排序元素最小元素,将其排序。...最好情况: 数组已经排序。此时当我们遍历每个元素,只在排序和已排序元素之间移动。 用大O表示法,这会被转换成Ω(n)。 递归 优雅地编码!递归与算法或函数实现方式有关,它不是算法本身。

43220

html5鼠标拖动排序及resize实现方案分析及实践

对列表进行拖动排序,尺寸改变。之前一般会使用jQuery-UI。其通过mousedown、mousemove、mouseup这三个事件来实现页面元素被鼠标拖拽效果。...为了使元素拖动,必须把 draggable 属性设置为 true : test[object Object] 整个拖拽事件触发顺序如下...源对象事件: dragstart:源对象开始拖放,开始移动时事件触发 drag:源对象拖放过程中,移动被拖拽对象触发 dragend:源对象拖放结束,整个拖放操作结束触发。...过程对象事件: dragenter:源对象进入过程对象范围内,被拖拽对象进入过程对象触发 dragover:源对象在过程对象范围内移动,被拖拽对象在过程对象内移动触发 dragleave:源对象离开过程对象范围...,被拖拽对象离开目标对象触发 目标对象事件: drop:源对象拖放到目标对象中,目标对象完全接受被拖拽对象触发,可理解为在目标对象内松手触发

3K10

算法(三)初等排序后篇

选择排序规则 就是重复执行以下处理: 1.找出排序部分最小值位置min。 2.将min位置元素排序部分起始元素做对比,如果顺序错误则将它们进行就交换。...2.希尔排序 在算法(二)初等排序前篇[插入和冒泡排序]这篇文章中,我们讲到了插入排序,对于大规模乱序数组,插入排序会很慢,因为它只会交换相邻元素元素只能一点一点从数组一端移动到另一端。...如果最小元素在数组末尾,则要将它移动到数组开头则需要进行n-1次移动。...实现希尔排序 我们将数组分为h个数组,我们将子数组每个元素交换到比他大元素前面去,只需要将插入排序移动元素距离1改为h即可。...,一般情况下,当h = 3 * h + 1,希尔排序复杂度基本维持在O(n^1.25)。

57480

算法(二)初等排序前篇

1.插入排序 插入排序比较容易想到,思路与打扑克排列牌顺序是类似的。...从图中可以看出这个数组分为两个部分,其中下标为0、1、2元素为已排列部分,其余则为排列部分。 插入排序规则: 将开头元素视为以排序部分。接着执行如下处理,直到没有排序部分。...- 取出排序部分开头元素赋值给临时保存数据变量v。 - 在已排列部分将所有比v大元素向后移动一个位置。 - 将取出元素v插入空位。 按照这个规则,我们来举一个简单例子。...根据定义这三个变量,插入排序实现思路就是:外层循环i从1开始自增,并在每次循环开始将a[i]值保存在v中;内层循环则是j从i-1开始向前自减,并将比v大元素从a[j]移动到a[j+1],并将v...经过四轮排序我们最终得到结果为a={1,2,3,4,5} 实现冒泡排序 实现插入排序时,我们要先定义两个变量,i为循环变量,表示排序部分开头元素,从数组开头向末尾移动

56090

JAVA三年面试总结,金九银十,你准备好了吗?

HashSet是无序, 但是LinkedHashSet能保证元素添加顺序,TreeSet能保证元素自然顺序 如果想要自定义排序规则: 1.使用TreeSet存储 2.TreeSet内元素需要实现...,并存入该下标元素对应链表中 当链表长度超过8后转化为红黑树,当红黑树元素少于6后转化为链表 扩容触发条件:HashMap长度>容量加载因子(160.75), 扩容大小:2倍区别: HashMap...1.选择排序 2.冒泡排序 3.快速排序 4.选择排序 5.插入排序 数据结构有哪些 数组(Array):含有下标 栈(Stack):先进后出 队列(Queue):先进先出 链表(Linked List...事务隔离级别 脏读 不可重复 幻读 提交读 发生 发生 发生 提交读 避免 发生 发生 重复读 避免 避免 发生 串行化 避免 避免 避免 建一个索引,使用Like查询,左右两边都加%。...查询语句索引起作用了,并且查询字段也是索引本身字段 就是覆盖索引,避免回表查询。 执行计划:_Extra:__Using index___ 那什么是回表?

87730

视觉直观感受 7 种常用排序算法

点击标题下「大数据文摘」快捷关注 10月14日发布《统计世界十大算法》后,很多朋友在后台询问,哪里有“视觉直观感受 7 种常用排序算法”,今天分享给大家,感谢todayx.org。...比较两个指针所指向元素,选择相对小元素放入到合并空间,并移动指针到下一位置 重复步骤3直到某一指针达到序列尾 将另一序列剩下所有元素直接复制到合并序列尾 排序效果: 3....首先在排序序列中找到最小元素,存放到排序序列起始位置,然后,再从剩余排序元素中继续寻找最小元素,然后放到排序序列末尾。以此类推,直到所有元素排序完毕。 排序效果: 5....步骤: 从第一个元素开始,该元素可以认为已经被排序 取出下一个元素,在已经排序元素序列中从后向前扫描 如果该元素(已排序)大于新元素,将该元素移到下一位置 重复步骤3,直到找到已排序元素小于或者等于新元素位置...希尔排序是基于插入排序以下两点性质而提出改进方法: 1、插入排序在对几乎已经排好序数据操作, 效率高, 即可以达到线性排序效率 2、但插入排序一般来说是低效, 因为插入排序每次只能将数据移动一位

51150

经典 O(n²)比较类排序算法

3.比较次数移动(交换)数据次数基于比较排序算法执行过程都会涉及两个操作、一个是比较,另一个就是元素交换或者数据移动。所以我们也要把数据交换或者移动次数考虑进来。...一次冒泡会让至少一个元素移动到它应该在位置,重复 n 次,就完成了 n 个数据排序工作。 这个算法名字由来是因为越小元素会经由交换慢慢“浮”到数列顶端。...插入排序也包含两种操作,一种是元素比较,一种是元素移动。当我们需要将一个数据 a 插入到已排序区间,需要拿 a 与已排序区间元素依次比较大小,找到合适插入位置。...算法步骤 首先在排序序列中找到最小(大)元素,存放到排序序列起始位置 再从剩余排序元素中继续寻找最小(大)元素,然后放到已排序序列末尾。 重复第二步,直到所有元素排序完毕。...从我前面画那张图中,你可以看出来,选择排序每次都要找剩余排序元素最小值,并和前面的元素交换位置,这样破坏了稳定性。

56420

前端基础知识整理汇总(中)

当发起跨域请求,由于安全原因,触发一定条件浏览器会在正式请求之前自动先发起OPTIONS请求,即CORS预检请求,服务器若接受该跨域请求,浏览器才继续发起正式请求。...每次有请求发出,缓存会将此请求发到服务器(译者注:该请求应该会带有与本地缓存相关验证字段),服务器端会验证请求中所描述缓存是否过期,若过期(返回304),则缓存才使用本地缓存副本。...防抖和节流 防抖:当你在频繁调用方法,并不会执行,只有当你在指定间隔内没有再调用,才会执行函数。 节流:在一个单位时间内,只能触发一次函数。如果这个单位时间内触发多次函数,只有一次生效。...它工作原理:首先在排序序列中找到最小(大)元素,存放到排序序列起始位置,然后,再从剩余排序元素中继续寻找最小(大)元素,然后放到已排序序列末尾。以此类推,直到所有元素排序完毕。...它工作原理是通过构建有序序列,对于排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。

87820

面试前你必须知道三个排序算法

③ 比较次数和移动次数 基于比较排序算法,在分析算法效率,我们要考虑到元素比较和元素移动。 2. 内存消耗 算法内存消耗可以通过空间复杂度来衡量,排序算法也不例外。...我们要做就是在排序区间取出元素与已排序区间元素进行比较插入到适当位置,以此类推,直到排序区间元素为空为止(顺序为从后向前比较)。 ?...四、选择排序 1、算法思想 和插入排序有点相似,将在排序期间寻找到最小数据,并将其放到已排好区间元素尾部。...② 是否为稳定排序 选择排序每次都要找到剩余排序元素最小值,并和前边元素交换位置,这样破坏了稳定性。所以说,选择排序是一种不稳定排序算法。...插入排序是同样,不管怎么优化,元素移动次数也等于原始数据逆序度。 从代码实现上来看,冒泡排序数据交换要比插入排序数据移动要复杂,冒泡排序需要 3 个赋值操作,而插入排序只需要 1 个。

49120

重学数据结构和算法(四)之冒泡排序、插入排序、选择排序

插入排序具体是如何借助上面的思想来实现排序呢? 首先,我们将数组中数据分为两个区间,已排序区间和排序区间。初始已排序区间只有一个元素,就是数组第一个元素。...插入算法核心思想是取排序区间中元素,在已排序区间中找到合适插入位置将其插入,并保证已排序区间数据一直有序。重复这个过程,直到排序区间中元素为空,算法结束。...要排序数据是 4,5,6,1,3,2,其中左侧为已排序区间,右侧是排序区间。 插入排序也包含两种操作,一种是元素比较,一种是元素移动。...二分法没有排序,只有查找。所以当找到要插入位置移动必须从最后一个记录开始,向后移动一位,再移动倒数第2位,直到要插入位置记录移后一位。...(Selection Sort) 基本思想为每一趟从待排序数据元素中选择最小(或最大)一个元素作为首元素,直到所有元素排完为止 选择排序算法实现思路有点类似插入排序,也分已排序区间和排序区间。

72530

Python实现插入排序

将待排序列表第一个元素当做已排序序列,第二个元素到最后一个元素当成排序序列。 2. 取排序序列中第一个数据,插入到已排序序列中顺序正确位置。...取排序第一个数据与已排序最后一个数据进行比较,如果顺序错误则交换位置。17(排序第一个数据)比10(已排序最后一个数据)大,不需要进行交换。 ? 2. 当不需要交换则此轮插入完成。...已排序序列变成了两个数据,排序序列数据减1。 ? 3. 继续取排序第一个数据与已排序最后一个数据进行比较。如果顺序错误则交换位置。50比17大,不需要交换。 ? 4....(相当于“抓牌”),使用 cur_index 标记待插入数据向前移动索引,直到不需再移动(相当于将新抓牌插入到已有的牌中),当列表中所有数据都插入到了已排序序列中,列表排序完成。...时间复杂度 在插入排序中,最坏情况是元素列表初始状态是完全逆序排列,每一轮插入都需要移动到最左端,需要进行 n-1 轮“插入”,每一轮“插入”需要向前比较和移动 i 次,i 平均值为 n/2 ,

75030
领券