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

腾讯面试官:如何从0到1实现一个高性能Collapse折叠组件,直到现在还实现不出来

折叠组件,然后根据提供接口属性,大概实现出来类似下面组件的形态,然后面试官问动画除了height形式,还有其他它方式么,因为height的变化会触发重排,另外折叠面板panel如果是大量数据,打开的时候会卡顿...、自定义箭头、禁用状态、隐藏是否渲染DOM结构 组件接口定义 Collapse 属性 说明 类型 默认值 accordion 是否开启手风琴模式 boolean false activeKey 当前展开面板的...在这种模式下,只有一个面板可以被展开。一个新的面板被展开,之前展开的面板将被关闭。 activeKey:当前展开面板的key。如果我们处于手风琴模式,这将是一个字符串或null。...onChange:它在面板切换被触发。接收一个参数,表示当前展开面板的key。的类型与activeKey相同。...如果这是一个函数,它将接收一个参数,表示面板是否被展开,并返回一个React节点。 destroyOnClose:如果设置为true,我们将在面板关闭销毁的内容。

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

前端开发者都应知道的 jQuery 小技巧

一个简单技巧的集合,帮你提升 jQuery 技能。 Matt Smith 发起的一个小项目,目前已有 15 个 小技巧。伯乐在线会持续跟进更新。...禁用 input 字段 有时你也许想让表单的提交按钮或其文本输入框变得不可用,直到用户执行了一个特定行为(例如确认 “已经阅读该条款” 的复选框)。...或许你只是想在用户点击某物展现一个元素,使用 fadeIn 和 slideDown 都很棒。... 这是一个快速实现手风琴效果的简单方法: // Close all panels $('#accordion').find('.content').hide(); // Accordion...; } }); Ajax 调用的错误处理 某次 Ajax 调用返回 404 或 500 错误,就会执行错误处理。但如果没有定义该处理,其他 jQuery 代码或许会停止工作。

2.3K30

SpringBoot+Vue前后端分离,使用SpringSecurity完美处理权限问题(六)

当前后端分离,权限问题的处理也和我们传统的处理方式有一点差异。...笔者前几天刚好在负责一个项目的权限管理模块,现在权限管理模块已经做完了,想通过5-6篇文章,来介绍一下项目中遇到的问题以及的解决方案,希望这个系列能够给小伙伴一些帮助。...角色展示 角色的展示采用了ElementUI中的Collapse 折叠面板,并且采用了手风琴模式,即一次只打开一个角色,如下图: ?...2.el-collapse-item的内容就是一个树形控件,很明显,树形控件的数量和el-collapse-item的数量是一样多的,但是考虑到el-collapse-item使用了手风琴模式,即一次只有一个折叠面板被打开...,因此树形控件的数据源只有一个,即多个树形控件共用一个数据源,为了避免数据紊乱,采取了这样的数据加载方式:当用户每次点击折叠面板的时候,都根据当前折叠面板所对应的角色去查询该角色所对应的资源,同时也查询所有的资源

86170

【译】W3C WAI-ARIA最佳实践 -- 控件

手风琴(有展开/折叠功能的模块) 手风琴是个垂直罗列的元素组合,例如标签或缩略图,这允许用户切换内容模块的展示。每个标签元素可以被用来展开折叠、暴露隐藏其相关内容。...示例: 手风琴示例:演示把一个表单分成三部分,并使用手风琴导航一次展开其中一部分 键盘交互: Enter 或 Space: 焦点在折叠状态的手风琴标题上,使用 Enter 或 Space 键可以展开相关联面板...如果实现只允许一个面板被展开,如果另一个面板被展开,折叠这个面板。 焦点在展开状态的手风琴标题上,如果实现支持折叠折叠该面板。...如果还有任何选项卡元素,将焦点设置在已关闭选项卡元素的下一个元素上,并且激活新聚焦的选项卡元素。 NOTE 建议当选项卡元素接收到焦点自动激活,只要它们相关的选项卡面板显示没有明显的延迟。...Left arrow: 焦点是在一个闭节点上,打开这个节点; 焦点不会移动。 焦点在一个同时也是终端节点或闭节点的子节点上,将焦点移动到的父节点。

4.5K30

python测试开发django-188.Bootstrap折叠(Collapse)插件

前言 折叠(Collapse)插件可以很容易地让页面区域折叠起来。如果您想要单独引用该插件的功能,那么需要引用 collapse.js, bootstrap已经包含了这个插件。...该data-target属性接受一个 CSS 选择器来应用折叠。确保将类添加collapse到可折叠元素。如果希望默认打开,请添加附加类in。 <!...接受一个可选选项object。...事件类型 描述 show.bs.collapse show调用实例方法立即触发此事件。 shown.bs.collapse 折叠元素对用户可见触发此事件(将等待 CSS 转换完成)。...hide.bs.collapse hide调用该方法立即触发此事件。 hidden.bs.collapse 对用户隐藏折叠元素时会触发此事件(将等待 CSS 转换完成)。

2.9K50

Asp.net Ajax Accordion控件的用法

Accordion,翻译过来是“手风琴、可折叠”的意思,微软Asp.net ajax提供了Accordion折叠面板控件,方便用户在系统菜单、信息展示中使用,用户体验是相当的好啊。...这个控件允许定义多个面板,当用户选中一个面板,其余面板都会折叠起来,只显示选中面板的内容。...如果说的不够清楚,请在这里查看示例:http://www.asp.net/ajax/ajaxcontroltoolkit/Samples/Accordion/Accordion.aspx。...dt.Rows.Add(new object[] { "菜单五", "内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容" }); //数据源需要是一个...另外一个是List,为了方便起见,我们先定义一个类: class myItem { public string HeaderText { get; set;

1.6K20

科学家研制出可处理胃部问题的胶囊机器人

通常,纽扣电池能被消化掉,但如果它们进入了食道或者胃里长时间与食道或者胃的组织接触,它们将产生电流、电离出氢氧化物,这将会对器官组织产生极大的伤害。...与它的前辈一样,它可以通过“粘滑运动”移动自身,移动其附肢通过摩擦粘附于表面,通过其躯干的收缩,改变其重量分布而进行滑动。 和其它多款折叠式机器人相似,新型机器人采用三层结构,中间层会遇热收缩。...中间层收缩,上下两层上的裂缝样式将决定机器人的折叠方式。 机器人的设计形态经过了无数次的修改,最终成为今天的形状。想要实现机器人的粘滑运动,必须使得机器人尽可能的小,同时需要足够硬。...研究人员经过了反复试验,设计出了长方形的机器人,其能像手风琴一样折叠多层,并将其长轴和捏脚充当牵引点。...负责向前移动的一个手风琴”褶皱层中心使用的是一块永磁体,借磁场的改变可以在身体外部控制机器人移动。

74840

这个胶囊机器人可以吃,还可以救命!

虽然的前一代产品在去年同一间发布,但它们的材料设计有了很大的差异。与它的前辈一样,它可以通过粘滑运动移动自身,通过其附属物的收缩,改变其重量分布进行移动。 ?...Guitron 说他们试了无数的错,才找到了长方形的机器人形态,并像手风琴一样折叠多层,将其长轴和捏脚线充当牵引点。...负责向前进的一个手风琴”中心使用的是一块永磁体,借此可以在身体外部控制机器人移动。放在体外的控制器能够使机器人旋转移动,在实验中,他们采用同一块磁体吸附住误吞进体内的电池。...这让意识到了,这件事非同小可,如果你不小心把电池放进了你身体里,你最好尽快把弄出来,越快越好”。 “这项发明非常实用又兼具创造力,让原本需要动用外科手术的问题优雅地解决”。...瑞士联邦理工学院教授 Bradley Nelson 这样评价道,“这是目前见到的,折叠型机器人目前为止最有说服力的应用”。 via MIT News

797110

BootStrap基础知识

它们是用 flexbox 构建的,因此很容易对齐和定位。 出于效能原因吐司是选择性加入的,所以必须自己将它们初始化。 如果你没有指定 autohide: false,吐司会自动隐藏。...如果一次只要展示一个吐司,请将定位样式放在 .toast 上。 使用 autohide: false ,必须增加一个关闭的按钮,让用户可以关闭吐司。...hide.bs.toast 调用 hide 方法,此事件会立即触发。 hidden.bs.toast 隐藏了一个吐司元素,会触发此事件。... 手风琴使用折叠使他可以做到折叠效果。要呈现展开的效果,请在 .accordion 加上 .open 类别。...请注意使用 Bootstrap 预设的 .bg-light ,你会需要一个适当的文字色彩,例如 .text-dark。这是因为背景通用类别只有 ackground-color 的设定。

24110

jQuery EasyUI一个基于 jQuery 的框架(创建网页所需的一切)

三:分类空间允许用户使用多面板,但在同一只会显示一个。每个面板都内建支持展开和折叠功能。点击一个面板的标题将会展开或折叠面板主体。...-- 通过标签创建分类,给标签添加一个名为'easyui-accordion'的类ID。 --> 19 <!...); 48 //增加一个面板 49 $("#acordionId").accordion("add",{ 50 "title...使用一个普通的标签进行展示。它可以同时显示一个图标和文本,或只有图标或文字。按钮的宽度可以动态和折叠/展开以适应的文本标签。 1 <!...但在同一个时间只会显示一个面板。每个选项卡面板都有头标题和一些小的按钮工具菜单,包括关闭按钮和其他自定义按钮。

4.2K100

一个“奇葩”需求的实现

2、需求: 导航菜单(el-menu组件)竖向展示的 鼠标移入一级菜单展示下面的子菜单,移出则收起来(手风琴模式,正常状态下只保持一个菜单处于展开状态,手动鼠标悬浮展开的不算) 选中某个子菜单高亮对应的一级菜单...,并且当鼠标移出高亮的这个菜单模块折叠,但是可以点击一级菜单进行折叠(注意:跟第一条有区别) 3、问题: element-ui的导航组件子菜单打开的触发方式可以通过 menu-trigger...) 一开始想在子菜单展开折叠的回调事件(open、close)里写逻辑判断,但是不知道什么原因回调事件不触发(注意:open方法和open事件不一样,组件三大要素:属性、事件、方法),所以我就考虑在...框架也是一个个组件组成的,抓住组件设计的三要素:属性、事件、方法,了解框架组件的工作原理,就可以轻松的进行修改啦 ---- 是 甜点cc 热爱前端,也喜欢专研各种跟本职工作关系不大的技术,技术、产品兴趣广泛且浓厚...主要致力于分享实用技术干货,希望可以给一小部分人一些微小帮助。 排斥“新人迷茫,老人看戏”的现象,希望能和大家一起努力破局。

69610

七个帮助你处理Web页面层布局的jQuery插件

1.UI.Layout  jQuery UI布局插件 官方网站:http://layout.jquery-dev.com/index.cfm 使用大小可折叠的嵌套面板和大量选项创建高级UI布局。...集成并增强其他UI小部件,如选项卡,手风琴和对话框,以创建丰富的界面。 ? 图片发自简书App 2.jQUery Masonry 官方网站:https://masonry.desandro.com/?...一个组件是一个抽象; 它可以通过多种方式实现,例如HTML5 Canvas绘图中的项目或HTML元素。jLayout库允许专注于绘制各个组件,而不是如何将其排列在屏幕上。...Plugin将自动以报纸列格式来布局的内容。...Columnizer会将CSS类添加到创建的列中。每列将有一个“列”类名。第一列将有“第一”,最后一列将有“最后”。这使您可以更轻松地定位CSS标记中的特定列。

9.3K20

不用JS,教你只用纯HTML做出几个实用网页效果

在我们以往看到的页面效果中,很多效果是需要JS搭配使用的,而今天在本文中,将介绍如何使用纯HTML打造属于自己的实用效果。 1....折叠手风琴 使用Details和Summary标签可以创建没有JavaScript代码的可折叠手风琴。 效果: ?...更多输入类型 在定义输入元素,您要知道现代浏览器已经允许指定足够多的输入类型了。除了你应该已经知道text,email,password,number这些类型外,还有下面的这些。...在移动浏览器上打开,弹出的键盘将发生变化,同样的email也是如此。 search 将输入文本框设置为友好的搜索样式。 效果: ?...例如:希望的页面中加入Excel功能,可以尝试纯前端表格控件SpreadJS,再或者希望为用户提供更完备、更高效的前端UI控件,您也不妨可以试试WimoJS。 想信她们都能为的应用增色不少。

2.3K40

Jump Start Bootstrap 第4章

展示一个如何使用这些事件的例子。已经写了下面的JQuery代码片段去监听所有的下拉插件状态,并打印每个事件触发的状态。 <!...) 折叠插件被广泛地称为Web上的“手风琴”插件。...对每张幻灯片重复相同的项目标记。在完成创建所有幻灯片之后,我们将构建一个用于导航carousel内容的控件部分。...一个模式对话框被启动一个黑暗透明的背景会默认出现在模式对话框的后面;将此属性设置为true可以使背景可见。把设为false,背景就消失了。...我们还学习了如何通过设置自定义data-*属性和通过JavaScript来定制它们使用Bootstrap应该始终使用内置的插件,避免编写自定义插件。

28.3K40

一些好用的jquery技巧

1、返回顶部按钮 通过使用jQuery中的animate 和scrollTop 方法,不用插件就可以创建一个滚动到顶部的简单动画: // Back to top $('.top').click(function...5、悬停切换类 假设你希望当用户将鼠标悬停在可点击的元素上,它会改变颜色。...6、禁用输入字段 有时候,你可能想要禁用表格的提交按钮或的某一项文字输入直到用户执行了特定操作(例如,勾选“已阅读相关条款”复选框)。...这是一个可快速生成手风琴的简单方法: // Close all panels $('#accordion').find('.content').hide(); // Accordion $('#accordion...; } }); 14、AJAX调用错误处理 Ajax调用返回404或500错误时,就执行错误处理程序。如果没有定义处理程序,其他的jQuery代码或会就此罢工。

3.9K60

视频 | MIT研发了一款可食用机器人,能移除胃部异物

他可以通过“粘滑运动”进行自我驱动,附属体通过摩擦粘在物体表层,折叠机器人弯曲的时候可以改变重力分布从而实现自由滑动。 和之前Rus团队设计的一系列折叠机器人一样,新机器人包括两层结构材料。...里面夹层的材料遇热会收缩,而外层的缝隙结构决定了当中间开始收缩,机器人会怎样进行折叠。 对机器人的预期同样表明了这个折叠机器人的结构性调整。...同样地,胶囊溶解后,作用在机器人上的力要足够大,使得折叠机器人能够完全展开。经过多次试验后,终于研发出了这种矩形机器人,可以像手风琴一样折叠起来。...Miyashita用了一个很机智的方法向Rus证明快速取出误吞食的纽扣电池的重要性。Miyashita买了一块火腿,把纽扣电池放在火腿上,不到半个小时,电池就完全陷在火腿里面了。...这是见过最令人信服的折叠机器人。” Rus称,会进一步改进折叠机器人、添加传感器功能,这样机器人就可以自己控制操作,不需要借助外部磁场的力量。 来源:动脉网 本文已获动脉网转载授权

52740

给单元素艺术添加动画

很难解释这些艺术作品是怎么做的,实际上它们使用了背景渐变、阴影、文字阴影,并且只有一个 div 元素以及 ::before 和 ::after 伪类。...对于工具的学习,很愿意尝试一些不同的、有趣的方法,否则你可能永远也学不会。因为单个 div 元素的限制,并不适合实际的生产工作,但是可以作为锻炼技能的一次练习或挑战。...这样,一个简易的手风琴就诞生了。...如果你希望某些按钮保持默认状态不变,它们可以在不同的 background-position 上使用默认的 --button 属性。...在手风琴的例子中, --button4-color 或者 --button4-dim 在 CSS 中没有明确定义。所以加载它们会使用 --color1 和 --button-dim 的默认值。

1.4K50
领券