javascript 相关问题

JavaScript(不要与Java混淆)是一种高级,动态,多范式,面向对象,基于原型的弱类型语言,用于客户端和服务器端脚本。它的主要用途是渲染和操作网页。使用此标记可以了解有关ECMAScript及其各种方言/实现的问题(不包括ActionScript和Google-Apps-Script)。

如何像 WordPress 中一样为自定义 CMS 创建挂钩?

当我发现 WordPress 挂钩(例如操作和过滤器)时,我印象深刻,您可以在其中仅通过一个自定义函数及其挂钩来修改或更改整个 CMS 功能。我正在寻找...

回答 2 投票 0

HackerRank“寻找因素”,因时间限制失败

我正在尝试用 JavaScript 解决 HackerRank“查找因子”问题,但我一直达到 10 秒的时间限制。 该问题给了我们正整数 n 和 k,并要求我们 fin...

回答 2 投票 0

如果零件可以工作但未达到预期效果,为什么?

这是一个打字速度测试程序。 当用户正确输入时,它应该是绿色的,当正确完成时,它应该是蓝色的,如果没有发生,它应该是红色的。 我知道问题出在...

回答 1 投票 0

Hackerrank“查找因子”(在 javascript 中)由于时间限制而失败?

我必须找到所有能整除一个数字的正数因子,然后返回列表中的第 p^ 个元素,按升序排序。 如果没有 p^th 返回 0。 我测试了几乎所有

回答 2 投票 0

服务时的离子问题 => NullInjectorError:没有 TranslateService 的提供者

我创建了一个 Ionic 6 项目,它使用 @ngx-translate 模块作为依赖项。当我使用 ionic 服务时,我在 JS 控制台中收到一个空白页面和以下错误: core.mjs:6485 错误 错误:Un...

回答 3 投票 0

如何在 nuxt.js 中的网站顶部设置 Favicon 图标 [重复]

我先是在nuxt.config.js文件中设置,然后把favicon.ico文件放在根目录下不行,再放在static文件夹下也不行,最后放在ass下。 ..

回答 1 投票 0

滚动顶部按钮时如何更改按钮颜色

我有一个小问题,现在当我单击按钮时会更改颜色,但是当我滚动页面且按钮栏固定在顶部时我需要灵魂,我想将 id 从页面获取到页面...

回答 1 投票 0

无法使用 JavaScript 访问 Vercel 上的环境变量

我想使用 JavaScript (TypeScript) 访问 Vercel 上的环境变量。我已将它们设置在 /settings/environment-variables 下,但是当我尝试使用 process.env.TURSO_DATABASE_URL 访问它们时...

回答 1 投票 0

Javascript 通知显示为“弹出”

目前,我正在开发 PWA。 我想实现一个推送通知系统,幸运的是浏览器公开了 Push API。到目前为止,我已经完成了这部分工作,我可以在

回答 1 投票 0

点击DIV外部时关闭菜单

当在移动视图上单击外部 div 或调整浏览器大小时,我需要关闭菜单。 在移动视图上单击 div 外部或调整浏览器大小时,我需要关闭菜单。 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1"> <title>Admin Dashboard | Keyframe Effects</title> <link rel="stylesheet" href="style.css"> <link rel="stylesheet" href="https://maxst.icons8.com/vue-static/landings/line-awesome/line-awesome/1.3.0/css/line-awesome.min.css"> </head> Style section <style> @import url('https://fonts.googleapis.com/css2?family=Merriweather+Sans:wght@300;400;500;600&display=swap'); :root { --main-color: #34425A; --color-dark: #34425A; --text-grey: #B0B0B0; } * { margin: 0; padding: 0; text-decoration: none; list-style-type: none; box-sizing: border-box; font-family: 'Merriweather', sans-serif; } #menu-toggle { display: none; } .sidebar { position: fixed; height: 100%; width: 165px; left: 0; bottom: 0; top: 0; z-index: 100; background-color: #d6eaf8; transition: left 300ms; } .side-menu ul li:hover { background-color: #1b4f72; } .side-menu a { color: #555; font-size: 1rem; } .side-menu a:hover { color: #fff; /* Change menu hover text color here */ } .side-header { background-color: #2471a3; height: 60px; display: flex; justify-content: center; align-items: center; } .side-header h3, side-head span { color: #fff; font-weight: 400; } .side-content { padding: 2rem 0rem; height: calc(100vh - 60px); overflow: auto; } /* width */ .side-content::-webkit-scrollbar { width: 5px; } /* Track */ .side-content::-webkit-scrollbar-track { box-shadow: inset 0 0 5px grey; border-radius: 10px; } /* Handle */ .side-content::-webkit-scrollbar-thumb { background: #b0b0b0; border-radius: 10px; } /* Handle on hover */ .side-content::-webkit-scrollbar-thumb:hover { background: #b30000; } .sidebar { /*overflow-y: auto;*/ } .side-menu ul { text-align: center; } .side-menu a { display: block; padding: 1rem 0rem; text-align: left; } .side-menu a.active { background: #1b4f72; border-bottom: solid 1px #d6eaf8; } .side-menu a.active span, .side-menu a.active small { color: #fff; } .side-menu a span { min-height: 15px; display: inline-flex; align-items: center; font-size: 1.7rem; margin: 0rem 0.5rem 0rem 0.5rem !important; } .side-menu a small { font-size: 0.95rem; /* Sidebar font size */ font-weight: normal; margin: 0rem 1rem 0rem 1rem !important; font-family: 'Open Sans', sans-serif; } #menu-toggle:checked~.sidebar { width: 60px; } #menu-toggle:checked~.sidebar .side-header span { display: none; } #menu-toggle:checked~.main-content { margin-left: 60px; width: calc(100% - 60px); } #menu-toggle:checked~.main-content header { left: 60px; } #menu-toggle:checked~.sidebar .profile, #menu-toggle:checked~.sidebar .side-menu a small { display: none; } #menu-toggle:checked~.sidebar .side-menu a { font-size: 1.3rem; padding: 0.7rem 0rem 0.7rem 0rem; /* control menu height here */ text-align: center; /* control toggle menu icons align here center, left or right */ } #menu-toggle:checked~.sidebar .side-menu a span { font-size: 1.3rem; } .main-content { margin-left: 165px; width: calc(100% - 165px); transition: margin-left 300ms; } header { position: fixed; right: 0; top: 0; left: 165px; z-index: 100; height: 60px; box-shadow: 0px 5px 5px -5px rgb(0 0 0 /10%); background-color: #2471a3; transition: left 300ms; } .header-content, .header-menu { display: flex; align-items: center; } .header-content { justify-content: space-between; padding: 1rem 1rem; color: #fff!important; } .header-content label:first-child span { font-size: 1.3rem; } .header-content label { cursor: pointer; } .header-menu { justify-content: flex-end; padding-top: .5rem; } .page-content { height: 100vh; padding: 1.3rem 1rem; background: #f1f4f9; } @media (min-width: 320px) and (max-width: 480px) { .sidebar { left: -165px; z-index: 90; } header { left: 0; width: 100%; } .main-content { margin-left: 0; width: 100%; } #menu-toggle:checked~.sidebar { left: 0; } #menu-toggle:checked~.sidebar { width: 165px; } #menu-toggle:checked~.sidebar .side-header span { display: inline-block; } #menu-toggle:checked~.sidebar .profile, #menu-toggle:checked~.sidebar .side-menu a small { display: block; } #menu-toggle:checked~.sidebar .side-menu a span { font-size: 1.7rem; } #menu-toggle:checked~.main-content header { left: 0px; } } </style> <body> <input type="checkbox" id="menu-toggle"> <div class="sidebar"> <div class="side-header"> <h3>L<span>ogo</span></h3> </div> <div class="side-content"> <p></p> <div class="side-menu"> <ul> <li> <a href="" class="active"> <span class="las la-home"><small>Dashboard</small></span> </a> </li> <li> <a href=""> <span class="las la-user-alt"><small>Profile</small></span> </a> </li> <li> <a href=""> <span class="las la-envelope"><small>Mailbox</small></span> </a> </li> <li> <a href=""> <span class="las la-clipboard-list"><small>Projects</small></span> </a> </li> <li> <a href=""> <span class="las la-shopping-cart"><small>Orders</small></span> </a> </li> <li> <a href=""> <span class="las la-tasks"><small>Tasks</small></span> </a> </li> </ul> </div> </div> </div> <div class="main-content"> <header> <div class="header-content"> <label for="menu-toggle"> <span class="las la-bars"></span> </label> </div> </header> <main> <div class="page-header"> <h1>Dashboard</h1> <small>Home / Dashboard</small> </div> <div class="page-content"> Page content goes here... </div> </main> </div> </body> 要查看更改,请转到移动视图或调整浏览器大小,然后打开菜单并单击外部,它不会关闭。 请帮我做这件事。 可能我需要添加 JavaScript 代码 我尝试解决这个问题但失败了,我希望有人可以帮忙。 好吧好吧。他们做了一个小把戏,让菜单按钮成为复选框的标签。复选框规则如果它是 :checked 则控制侧边菜单的样式。 现在所需要做的就是检测单击是否在 .page-content 内部,如果是,则取消选中菜单按钮复选框。它在正确的屏幕宽度(移动设备)上工作。 但是,在其他显示宽度上,:checked 状态的行为与预期效果相反。这就是为什么我首先检查window.innerWidth。 document.addEventListener('mousedown', function(event) { var elem = event.target; var closest = elem.closest(".page-content"); if (window.innerWidth <= 480) { if (closest) { // hide menu document.getElementById("menu-toggle").checked = false } } }) <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1"> <title>Admin Dashboard | Keyframe Effects</title> <link rel="stylesheet" href="style.css"> <link rel="stylesheet" href="https://maxst.icons8.com/vue-static/landings/line-awesome/line-awesome/1.3.0/css/line-awesome.min.css"> </head> Style section <style> @import url('https://fonts.googleapis.com/css2?family=Merriweather+Sans:wght@300;400;500;600&display=swap'); :root { --main-color: #34425A; --color-dark: #34425A; --text-grey: #B0B0B0; } * { margin: 0; padding: 0; text-decoration: none; list-style-type: none; box-sizing: border-box; font-family: 'Merriweather', sans-serif; } #menu-toggle { display: none; } .sidebar { position: fixed; height: 100%; width: 165px; left: 0; bottom: 0; top: 0; z-index: 100; background-color: #d6eaf8; transition: left 300ms; } .side-menu ul li:hover { background-color: #1b4f72; } .side-menu a { color: #555; font-size: 1rem; } .side-menu a:hover { color: #fff; /* Change menu hover text color here */ } .side-header { background-color: #2471a3; height: 60px; display: flex; justify-content: center; align-items: center; } .side-header h3, side-head span { color: #fff; font-weight: 400; } .side-content { padding: 2rem 0rem; height: calc(100vh - 60px); overflow: auto; } /* width */ .side-content::-webkit-scrollbar { width: 5px; } /* Track */ .side-content::-webkit-scrollbar-track { box-shadow: inset 0 0 5px grey; border-radius: 10px; } /* Handle */ .side-content::-webkit-scrollbar-thumb { background: #b0b0b0; border-radius: 10px; } /* Handle on hover */ .side-content::-webkit-scrollbar-thumb:hover { background: #b30000; } .sidebar { /*overflow-y: auto;*/ } .side-menu ul { text-align: center; } .side-menu a { display: block; padding: 1rem 0rem; text-align: left; } .side-menu a.active { background: #1b4f72; border-bottom: solid 1px #d6eaf8; } .side-menu a.active span, .side-menu a.active small { color: #fff; } .side-menu a span { min-height: 15px; display: inline-flex; align-items: center; font-size: 1.7rem; margin: 0rem 0.5rem 0rem 0.5rem !important; } .side-menu a small { font-size: 0.95rem; /* Sidebar font size */ font-weight: normal; margin: 0rem 1rem 0rem 1rem !important; font-family: 'Open Sans', sans-serif; } #menu-toggle:checked~.sidebar { width: 60px; } #menu-toggle:checked~.sidebar .side-header span { display: none; } #menu-toggle:checked~.main-content { margin-left: 60px; width: calc(100% - 60px); } #menu-toggle:checked~.main-content header { left: 60px; } #menu-toggle:checked~.sidebar .profile, #menu-toggle:checked~.sidebar .side-menu a small { display: none; } #menu-toggle:checked~.sidebar .side-menu a { font-size: 1.3rem; padding: 0.7rem 0rem 0.7rem 0rem; /* control menu height here */ text-align: center; /* control toggle menu icons align here center, left or right */ } #menu-toggle:checked~.sidebar .side-menu a span { font-size: 1.3rem; } .main-content { margin-left: 165px; width: calc(100% - 165px); transition: margin-left 300ms; } header { position: fixed; right: 0; top: 0; left: 165px; z-index: 100; height: 60px; box-shadow: 0px 5px 5px -5px rgb(0 0 0 /10%); background-color: #2471a3; transition: left 300ms; } .header-content, .header-menu { display: flex; align-items: center; } .header-content { justify-content: space-between; padding: 1rem 1rem; color: #fff!important; } .header-content label:first-child span { font-size: 1.3rem; } .header-content label { cursor: pointer; } .header-menu { justify-content: flex-end; padding-top: .5rem; } .page-content { height: 100vh; padding: 1.3rem 1rem; background: #f1f4f9; } @media (min-width: 320px) and (max-width: 480px) { .sidebar { left: -165px; z-index: 90; } header { left: 0; width: 100%; } .main-content { margin-left: 0; width: 100%; } #menu-toggle:checked~.sidebar { left: 0; } #menu-toggle:checked~.sidebar { width: 165px; } #menu-toggle:checked~.sidebar .side-header span { display: inline-block; } #menu-toggle:checked~.sidebar .profile, #menu-toggle:checked~.sidebar .side-menu a small { display: block; } #menu-toggle:checked~.sidebar .side-menu a span { font-size: 1.7rem; } #menu-toggle:checked~.main-content header { left: 0px; } } </style> <body> <input type="checkbox" id="menu-toggle"> <div class="sidebar"> <div class="side-header"> <h3>L<span>ogo</span></h3> </div> <div class="side-content"> <p></p> <div class="side-menu"> <ul> <li> <a href="" class="active"> <span class="las la-home"><small>Dashboard</small></span> </a> </li> <li> <a href=""> <span class="las la-user-alt"><small>Profile</small></span> </a> </li> <li> <a href=""> <span class="las la-envelope"><small>Mailbox</small></span> </a> </li> <li> <a href=""> <span class="las la-clipboard-list"><small>Projects</small></span> </a> </li> <li> <a href=""> <span class="las la-shopping-cart"><small>Orders</small></span> </a> </li> <li> <a href=""> <span class="las la-tasks"><small>Tasks</small></span> </a> </li> </ul> </div> </div> </div> <div class="main-content"> <header> <div class="header-content"> <label for="menu-toggle"> <span class="las la-bars"></span> </label> </div> </header> <main> <div class="page-header"> <h1>Dashboard</h1> <small>Home / Dashboard</small> </div> <div class="page-content"> Page content goes here... </div> </main> </div> </body>

回答 1 投票 0

TUI(Toast UI)日历 API 未按预期工作。

我已经开始从事一个项目并面临一些问题。在查看日历应用程序时,我发现了这个: https://github.com/nhnent/tui.calendar#easy-to-use-dragging-and-resizing-a-schedule T...

回答 2 投票 0

编写基于类的 Apps 脚本代码后出现意外行为

我在我的谷歌应用程序脚本项目中遇到了类逻辑模式问题,我不确定这是我的逻辑、.gs 文件安排,还是这只是我的类的意外行为...

回答 1 投票 0

在 React 中加载更多内容

我遇到了一个错误,无法识别哪里做错了,在我第一次加载期间 pagNum = 0 调用了两次,这导致当向下滚动 pageNum= 1 时,前 3 个结果重复两次,

回答 1 投票 0

如何让切换面板默认不打开?切换是在 HTML 中的 JavaScript 上完成的

所以我有一个页面,用户可以在其中找到“?”切换以阅读有关如何使用该页面的信息。 但是,每当页面加载(或重新加载/刷新)时,切换面板就会打开(...

回答 1 投票 0

如何使用Aurelia-Dialog插件的“位置”配置设置

问题: 我一直在尝试弄清楚如何在基于 Aurelia 的网站上使用 Aurelia-Dialog 插件的“位置”配置设置,但我无法弄清楚无法找到单个检查...

回答 2 投票 0

将数组中的对象添加到 Map() Javascript/Node

有什么方法可以将对象数组添加到 Map() 中吗? 我想在每次调用函数 add() 时从数组中添加用户名。 快速示例: 让 localHashMap = new Map(); 让 arr = ['aaa'...

回答 1 投票 0

JavaScript 比较两个日期输入字段

我有两个日期字段,第一个存储在 MSSQL 数据库中,称为 leftDate,第二个是表单中的日期选择器,用户必须在其中选择日期。 我需要确保选定的日期...

回答 1 投票 0

Node.js automapper-ts 包不映射嵌套对象/属性

当我运行以下代码时,“card”节点无法作为嵌套实体加载到“source”字段中。 我查看了源代码,其中指出您可以从“nested.property”进行映射,这是su...

回答 1 投票 0

在 Chrome 中自动单击网站上的按钮

我正在寻找自动单击网站上按钮的解决方案。我阅读了多个网站,并了解如何使用网站上元素的 Xpath。我使用了名为“Laura

回答 1 投票 0

如何将布尔值转换为字符串 - NestJS / JS / Node

我是 NestJS 作为服务器的新手。 我在数据库中有一个我正在查询的表,列名是优先的,并且它在数据库中是布尔值,只有0或1。 我有这段代码,我理解它映射了...

回答 2 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.