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

半小时写一个脑力小游戏

这组卡片将被包装在一个 section容器元素中。 最终代码如下: ? CSS 我们将使用一个简单但非常有用的配置,把它应用于所有项目: ?...我们还需要添加一个点击效果。 每次元素被点击时都会触发 :active伪类,它引发一个 0.2秒的过渡: ? 翻转卡片 要在单击时翻转卡片,需要把一个 flip类添加到元素。...为此,让我们用 document.querySelectorAll选择所有 memory-card元素,然后使用 forEach遍历它们并附加一个事件监听器。...每当卡片被点击时,都会触发 flipCard函数,其中 this代表被单击的卡片。 该函数访问元素的 classList并切换到 flip类: ?...现在,当用户点击第二张牌时,代码会进入 else块,我们将检查它们是否匹配。为了做到这一点,需要能够识别每一张卡片。 每当我们想要向HTML元素添加额外信息时,就可以使用数据属性。

1.7K20

加点JavaScript魔法

初始化调用接受许多配置弹出窗口的选项,包括传递想要在弹出窗口中显示的内容,以及使用什么方法触发弹出窗口出现或消失(单击,悬停在元素上等),如果内容是纯文本或HTML,那么在文档中可以找到更多的选项。...不幸的是,在阅读完这些信息之后,我的疑惑更多了,因为这个组件看起来并没有按照我需要的方式工作。以下是我实现此功能需要解决的问题列表: 在页面中会有很多用户名链接,每条用户动态都会显示一个。...使用“悬停”模式时,只要你将鼠标指针放在目标元素中,弹出窗口就会保持可见状态。当你移开鼠标时,弹出窗口将消失。这具有糟糕的副作用,即如果用户想要将鼠标指针移动到弹出窗口中,弹出窗口将消失。...,无法满足我的需求,但如果你查看trigger选项的文档,则hover只是其中一个可能的值。...我已经用manual触发模式,HTML内容,没有淡入淡出的动画(这样它就会更快地出现和消失)配置了这个弹出窗口,并且我已经将父元素设置为元素本身,所以悬停行为通过继承扩展到弹出窗口。

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

    如何在 React 中点击显示或隐藏另一个组件?

    useState 钩子返回一个数组,其中第一个元素是当前状态的值,第二个元素是更新该状态的函数。下面是一个示例,展示如何使用 useState 钩子创建一个用于控制组件可见性的状态。...然后,我们在组件的返回值中渲染一个按钮和一个条件渲染的 div 元素。当用户单击按钮时,onClick 事件处理函数会调用 setIsVisible 函数,并将 !...当用户单击菜单按钮时,菜单应该出现,然后当用户单击菜单外部时,菜单应该消失。下面是一个示例,展示如何使用 React 和事件处理函数来实现菜单的显示和隐藏。...然后,我们编写了一个名为 handleClickOutside 的事件处理函数,它将检查用户单击的元素是否在菜单之外。如果用户单击的元素不在菜单中,则将可见性设置为 false,菜单将被隐藏。...当用户单击打开模态框的按钮时,模态框应该出现;当用户单击关闭按钮或模态框之外时,模态框应该消失。下面是一个示例,展示如何使用 React 和事件处理函数来实现模态对话框的显示和隐藏。

    5.1K10

    移动端click延迟及zepto的穿透现象 转

    移动端click事件300ms的延迟现象的原因: 在最早iphone的safar浏览器中,为了实现触屏中双击放大效果,当用户点击屏幕时后会判断在300ms内是否有第二次点击,如果有,就理解成双击,若没有就是单击..., 就会触发click事件....解决延迟的思路: touchstart touchend是没有延迟的,可以在touchend时触发用户想要在click时触发的事件. zepto 解决click延迟的原理: 自定义tap事件,当用户点击元素时...穿透现象: 遮罩层中有一个标签绑定了tap事件,触发时遮罩层消失,该标签正下方有一个绑定了click的按钮,此时点击上层的标签,同时也会触发下层元素的click事件,出现穿透的现象。...因为zepto的tap事件统一是在document的touchend时触发的,若在这里使用e.preventDefault(),那页面上所有元素在touchend后触发的事件都不会被执行了。

    1.3K10

    AngularDart Material Design 输入 顶

    label String  此输入的标签。 如果没有在文本框中输入任何内容,则显示默认文本。当用户输入文本时,它会消失。...当需要可见标签时,请使用标签代替此标签。 label String  此输入的标签。 如果没有在文本框中输入任何内容,则显示默认文本。当用户输入文本时,它会消失。...超过maxRows的任何内容都会导致输入滚动。 required bool  是否需要输入。 如果没有输入文本,则必需的输入将在第一次失去焦点时显示验证错误。...比此输入上可能存在的所有其他错误更高的先验。...将此设置为true会更改行为,以便在更改选项或选项时:       1.选择中的第一个选定值在选项中有效       2.如果选择没有选定值,则选项中没有任何活动 inputText String

    5.3K40

    一个创建产品动画说明视频的新手指南

    我不会涉及的: 如何概念化和脚本化您的视频,或如何添加配音或音乐。这些元素显然很重要,但今天我们不在这里谈论。各位请注意! 我们将使用一个虚构的Slack风格的产品(我们称之为Quack)为本教程。...每个层的时间轴,其中关键帧(动画中的转换的开始或结束点)将被标记在右侧 在这些下方,您将看到一个缩放栏(小山和一个大山)。尽可能缩小。 ?...我们需要把这个资源设置的看起来更可信。它需要更小,所以让我向大家介绍一下比例属性,更重要的是显示锚点。 锚点 假设你不知道,一个锚点就是一个元素所有的变换来源的位置。...在该动画框架上,单击Position(位置)左侧的菱形。这将创建一个关键位置的新关键帧。向前走一秒钟左右,并将光标拖到合成物外。 当你预览时,它应该看起来像这样: ?...当我们在它,按command+option+F(或ctrl + alt + F)调整您的动画到新的合适大小。预览时 它应该与以前一样,只是缩小。 使用关键帧来缩放大小和位置。

    3K10

    对话框、模态框和弹出框看起来很相似,它们有何不同?

    作为一名长期合同工,我经常改变工作环境——当我在不同的团队、公司、国家工作时,措辞都会不同。词语的含义会随着时间而改变,整个世界都是这样……这很正常!...目前并非所有用户都会使用支持的浏览器inert( https://github.com/WICG/inert ),所以最好使用 polyfill inert,如果没有inert或其 polyfill,你将需要添加...WAI-ARIA 规定,当使用 role="dialog" 时,应至少包含一个可聚焦的元素,并在对话框打开时将焦点移动到其中一个可聚焦的元素上。...当您在其外部单击时,它会消失。...有时,popovers 使用元素或具有 role="dialog" 的元素。但并不是所有 popovers 都使用这些元素。

    4K00

    muleESB的第一个开发实例-HelloWorld(二)

    配置项目 现在你已经在Studio中构建了一个基本的应用程序,下面我们需要配置每个单独的元素。 在画布上单击HTTP连接器打开其属性编辑器(见下图)。...在连接器配置中,可以提供创建另一个元素的引用。 单击绿色连接器配置旁边的加号+来创建一个被连接器引用的全局元素。...一个全局元素是一个单独的元素,封装了一些可重用的配置属性,其他的所有连接器都可以使用它。 ? 打开一个新窗口,其中包含配置几个参数。...保留所有参数的默认值,单击OK关闭窗口并创建一个全局元素。 ? 注意:返回到连接器,在连接器配置中填充刚才创建元素的引用。...会注意到连接器的属性编辑器和在画布上的连接器中红色的警示标志消失了。 在画布上单击Set Payload 组件打开其属性编辑器(见下图)。

    2.1K10

    一看就会,效率翻倍!在线设计必会技能(基础篇)

    相交选中与包含选中 在默认情况下,当我们使用鼠标框选的形式来选中组件时,与框选范围相交的所有组件都会被选中,这就是相交选中。...只需要按住Ctrl键,并重复单击组件重叠的部分,就可以按照从上至下的顺序来依次选中组件。...当画板中的组件将画板遮住时,一些小伙伴可能就会经常误点到组件,而很难选中画板。 其实此时只需要点击画板的名称就能快速对其进行选中,并且拖拽名称即可移动画板。...当我们选中间距相同的多个元素(每个部分可以是单个组件也可以是编组)时,每个组件之间会出现一个长条的控制柄。拖动控制柄,就能快速调整这些元素之间的间距了,是不是超级方便?...选中多个间距相等的元素时,当鼠标悬停在其中一个部分上时,会出现一个圆点。拖动这个圆点,你就会发现元素之间的位置可以被非常方便地交换和调整了。

    47040

    5个很棒的 React.js 库,值得你亲手试试!

    ) 一步一步说下: 首先导入库本身,但重要的是随后导入所需的CSS。 然后配置toast,autoClose的意思是toast过了多长时间就会自动消失。...这些功能之一是用户对右键单击的评估,这种评估在网站上越来越多地使用。 当然,那些是带有许多UI元素的更复杂的控件。 通常用于显示所谓的上下文菜单,为此目的,有一个非常方便的React.js库。...一个可以想象的例子是用户折叠的菜单。如果你想再次关闭它,90%的用户倾向于简单地点击网站的死区(即那些本身不会产生反应的元素)。在几乎所有的专业网站上,这是完全相同的。...要关闭菜单,只需再次单击它的旁边,而不是直接在它上切换。 有一个库可以满足这类的操作,它就是response-onclickoutside,它允许我们处理实际元素之外的单击事件。...在下面的示例中,你可以看到我们如何为一个简单的h1和button实现此功能。仅当单击除这两个之外的任何内容时,console.log才会输出。

    2.9K40

    Spring MVC-使用Spring Tool Suite IDE搭建Spring MVC开发环境

    注意:选择包名时要小心,因为最后一个元素(比如com.artisan.springmvc中的springmvc)将被用作Maven项目文件(pom.xml)中的artifactId以及应用程序的上下文路径...---- 单击完成,STS将创建一个基于Spring MVC的项目,其中有一些默认值用于控制器,视图和配置。 如果碰到以下错误: ?...是因为Maven还没有更新一些依赖关系 右键单击项目名称,从上下文菜单中选择Maven > Update Project… ?...单击完成,等待Maven下载所需的依赖关系,然后错误就会消失。 ---- 分析IDE建立的工程 现在让我们来探讨Spring MVC Project模板创建的内容。...当在IDE中运行的服务器上部署项目时,artifactId元素的值将用作Web应用程序的上下文路径。

    96240

    分享5个关于 Vue 的小知识,希望对你有所帮助

    我们使用v-show指令来在hovered为true时显示第二个p元素。 现在,当我们的鼠标在div内时,我们可以看到“hovered”被显示出来。...当我们将鼠标移出div时,“hovered”消失了。 3、在Vue.js中获取组件内的元素 有时候,我们希望在Vue.js中获取组件内的元素。...当我们单击外部时,应该看到“clicked outside”被记录。 我们可以通过创建自定义指令来检测 Vue.js 中元素外的点击。...当工具提示展示时,如果用户点击了工具提示以外的其他地方,我们通常希望工具提示会消失。...在上述所有场景中,通过 "v-click-outside" 这个自定义指令,你可以非常简单地处理点击元素外部的事件,进而实现你的交互需求。 5、如何在Vue组件实例内的方法中调用过滤器?

    21930

    CSS 下拉菜单与 focus

    在移动端上稍微有些不同,毕竟所有控制——无论单击、长按抑或划动——都由接触开始,也没有鼠标的「悬停」逻辑,为了方便判定,移动端上若想激活 :hover 也是单击(触摸)。...不过还是有点问题,比如一台 iPad mini 这种中尺寸设备,竖屏 + 鼠标情况下,但凡鼠标掠过就会调出下拉菜单;或者即便是 PC,把窗口缩小也同样是掠过频繁调出下拉菜单……毕竟是为了小尺寸设备设计的而其中并非全是触摸设备...碰巧的是,前面我们刚好设置了 tabindex,这个坑算是无意间跳过去了。 其次,当一个元素被聚焦时,点击一般的空白处无法使它失焦。...上面表述中的「一般」表示这其实是有例外的,比如点击其他默认可聚焦的元素(如 、button 等等)就会使新聚焦的元素顶替原聚焦的元素让先前的元素失焦。...至于如何修复,方才说到只要让其它元素聚焦就可以顶替掉这个聚焦的元素使其失焦,那么我们只需要让一个层级足够高的元素可以被聚焦——设置 tabindex 参数(最好为 -1,原因自己往上翻)。

    5.6K20

    【新!超详细】Figma组件属性完全指南

    您可以直接从属性面板中选择整个组件并在其中交换层。 何时使用实例交换属性? 当您想在另一个组件中交换组件时使用它。例如,当您有一个按钮时,您可以通过属性面板更改按钮内部的图标。 目前,无法交换变体。...您可以在批量操作中更改文本:假设您在五个按钮中输入了一个错误,并希望为所有五个按钮修复此错误。您可以选择所有五个并在属性面板中编辑文本。只需键入一次,所有文本图层都会更改。...双击右侧菜单中的组件属性名称。 2. 单击详细信息图标,然后在窗口中更改名称。 更改列表中的变体顺序 当您单击一个实例并想要更改变体时,您希望它按字母顺序排列,或者最流行的变体在顶部。...属性列表 如果您有一个具有布尔值和另一个属性的组件,请对属性列表进行排序,布尔值位于顶部,然后是其他属性。当您将布尔值切换为关闭时,另一个属性会消失并且列表会移动。...如果你这样工作,列表中的动作就会更少,而且会更有条理。

    12.4K22

    jQuery中on()、bind()、live()、delegate()之间的区别

    事件冒泡 当我们点击一个链接时,其触发了链接元素的单击事件,该事件则引发任何我们已绑定到该元素的单击事件上的函数的执行。...click事件接着会向树的根方向传播,广播到父元素,然后接着是每个祖先元素,只要是它的某个后代元素上的单击事件被触发,事件就会传给它。 ? 在操纵DOM的语境中,document是根节点。...如果不人为的设置stopPropagation(Moder Browser), cancelBubble(IE),那么它的所有父元素,祖宗元素都会受之影响;如之前举例: $('a').bind(...; }); 当我们在a 上面点击的时候,首先会触发它本身所绑定的click事件,然后会一路往上,触发它的父元素,祖先元素上所有绑定的click事件。...Chaining没有被正确的支持 当使用event.stopPropagation()是没用的,因为都要到达document 因为所有的selector/event都被绑定到document, 所以当我们使用

    1.3K30

    为什么43%前端开发者想学Vue.js

    你可以看到在上面的图片我们包括Vue库,创建Vue的实例,并插入到我们的根元素通过App的ID。EL代表元素。我们也会将数据移到一个对象中,并将X转换为一个带有双花括号的表达式。...没什么特别的,但数据开始变化时Vue就像魔术。如果我跳到控制台,改变product的值,看看会发生什么: ? VUE是响应式的,即当我们的数据变化,Vue会更新所有在我们的网页使用它的地方。...我们将为每个产品创建一个添加按钮,当单击此按钮时,我们将增加一个数量。 ? 注意,当我们添加一个项目(下)时,不仅总库存得到更新,而且如果我们增加我们的夹克产品,我们的库存通知就会消失。 ?...但是,如果我们只想写夹克或远足袜的数量呢?我们只需要创建一个新的输入字段,并将其绑定到我们的产品数量通过v-model指向它,并指定这始终是一个number即可。 ?...正如您在下面看到的,init命令可以用来启动一个新项目。 ? 我们还可以使用单文件——.Vue 组件文件,其中包含HTML,JavaScript,CSS甚至 SCSS。 ?

    1.3K20

    Excel图表学习69:条件圆环图

    根据单元格包含的字母“R”、“Y”或“G”将它们填充为红色、黄色和绿色。这在工作表中很容易做到,但在图表中没有像这样更改颜色的机制。 可以使用VBA来实现,但本文使用了工作表公式。...虽然这样的条件圆环图必须有八个可见的切片,但实际数量是这个数量的三倍,三分之二将被隐藏。示例数据如下图2所示。 ? 图2 选择下方单元格区域中添加一个标题为“一”的列,其每个单元格的值均为1。...图4 下面,先将图表所有切片颜色变成灰色,以方便在填充颜色时查看位置。单击选择所有切片,填充颜色为灰色,如下图5所示。 ? 图5 接着,逐切片填充颜色。...单击两次选择第一个切片,填充红色,再按住Ctrl键的同时单击右箭头键三次,选择下一个要填充红色的切片,按F4键填充红色,重复这个过程使所有应该填充红色的切片填充红色。同样,填充黄色和绿色切片。...单击左上角的“文件”,选择“选项”命令,在“Excel选项”对话框中单击左侧的“高级”选项卡,在右侧找到“图表”部分,你会看到“属性采用所有新工作簿的图表数据点”和“属性采用当前工作簿的图表数据点”选项

    7.9K30

    前端知识点总结vue篇(下)

    4. vue常用的一些指令 v-if:根据表达式的值的真假条件渲染元素。在切换时元素及它的数据绑定 / 组件被销毁并重建。...v-once:只渲染元素和组件一次。随后的重新渲染,元素/组件及其所有的子节点将被视为静态内容并跳过。用于优化更新性能。...Vue常用的修饰符 .prevent 提交事件不再重载页面 .stop 阻止单击事件冒泡 .self 当事件发生在该元素本身而不是子元素时会触发 .capture 事件侦听,事件发生时会调用 .once...如果发现没有浏览器的API,路由会自动强制进入这个模式。 Hash和history区别 Hash的URL会更改、浏览器可以前进和后退,但浏览器不会刷新并且不会和服务端交流。...过key来比较 b.最好不要用index作为key,如果事件项顺序改变,会产生没有必要的真实DOM更新,页面效果没有问题但效率低。

    36320

    【移动端】touch事件及穿透事件

    苹果的解决方案: 方案一:双指进行缩放 方案二:在屏幕上双击进行放大(单击300ms后,再单击才算双击),造成了,移动端点击事件,300ms 延迟的问题 解决方案,就是使用touch事件来替代 移动端新增...,e.target都是开始时触摸的元素dom....e.changeTouches: 跟当前事件相关的所有触点信息 e.targetTouches:作用在当前元素上的所有触点信息 【扩展】touch事件中的touches、targetTouches和changedTouches...点击穿透现象的情况: 1) 蒙层问题 蒙层的关闭按钮绑定的是touch事件,而按钮下面元素绑定的是click事件,touch事件触发后,蒙层消失,300ms后这个点的click事件触发。...2) 跨页面点击穿透问题 如果按钮下面恰好是一个href属性的a标签,那么页面就会发生跳转(a标签跳转默认是click事件触发的) 解决问题: 方法一:自己封装tap事件不会有穿透问题,因为阻止了默认行为

    2.1K10
    领券