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

如何制作自己的原生 JavaScript 路由

翻译:疯狂的技术宅 作者:@js_tut 来源:freecodecamp 正文共:2497 字 预计阅读时间:7 分钟 ? 当你想到路由时,通常会想到类似 React 之类的库。...以下是制作自己的 JS router 时要了解的关键事项: 原生 JS 路由的关键是 location.pathname 属性。 侦听 “popstate ”事件以响应.pathname 的更改。...太糟糕了,因为单击浏览器的“后退”和“前进”按钮与浏览历史记录中的 URL 导航有关。如果没有 History API,就无法谈论路由。...ID,第二个是“标签标题”文本,第三个参数是你希望地址栏中要现实的路径。...我们只需将存储在元素的 id 属性中的 clicked 元素的 id 传递给它即可:home,about,gallery 等。它们应与你要导航到的实际页面一致。

3.9K20

跨平台移动APP开发进阶(一):mui开发注意事项

DOM结构 关于mui页面的dom,你需要知道如下规则: 固定栏靠前 所谓的固定栏,也就是带有.mui-bar(类选择器)属性的节点,都是基于fixed定位的元素;常见组件包括:顶部导航栏(.mui-bar-nav...; ### 一切内容都要包裹在mui-content中 除了固定栏之外,其它内容都要包裹在.mui-content中,否则就有可能被固定栏遮罩,原因:固定栏基于Fixed定位,不受流式布局限制,普通内容依然会从...会自动监听新页面的loaded事件,若加载完毕,再自动显示新页面;扩展阅读: hello mui中的无等待窗体切换是如何实现的 提示HTML5的性能体验系列之一 避免切页白屏 页面关闭:勿重复监听backbutton...监听,因为addEventListener只会增加新的执行程序,mui默认封装的监听执行逻辑依然会继续执行,因此若仅addEventListener添加用户确认框,则用户即使选择了取消,也会继续关闭窗口...及300毫秒的来龙去脉,请自行谷百),mui为了解决这个问题,封装了tap事件,因此在任何点击的时候,请忘记click及onclick操作,统统使用如下代码: element.addEventListener

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

    手机端页面自适应布局---rem

    doc.addEventListener) return; win.addEventListener(resizeEvt, recalc, false); doc.addEventListener...如果要切移动页面,你可以先把效果图宽度等比例缩放到640px。 2. 为什么要设置html的font-size? rem就是根元素(即:html)的字体大小。...一般导航栏不用rem,而是用flex布局,这是因为导航栏点击最多,所以给他一个固定的大小(高度固定,宽度自适应)。...大家可以看看淘宝的这个手机页面 淘宝手机站,基本就是这种感觉,底部导航和顶部搜索框用的高固定,宽自适应的方案,其余的部分基本都是随着浏览器宽度变化在等比例缩放。 最终页面代码首页代码大致如下 addEventListener) return; win.addEventListener(resizeEvt, recalc, false); doc.addEventListener

    1.8K52

    web前端常见面试题

    浏览器使用文件开头的 DOCTYPE 来决定用怪异模式处理或标准模式处理。DOCTYPE 可以确保不同浏览器以相同的方式解析文档,以及执行相同的渲染模式。...语义化标签 定义文档的页眉区域,应作为介绍内容或者导航链接栏的容器; footer 内容的页脚,通常包含该章节作者、版权数据或者与文档相关的链接等信息; article 文档、页面、应用或网站中的独立结构...; section 表示文档中的一个区域(或节),比如,内容中的一个专题组; main 定义文档的主要内容,该内容在文档中应当是独一无二的,不包含任何在文档中重复的内容,比如侧边栏,导航栏链接,版权信息...target 与 currentTarget target 属性指向的是事件目标,而 currentTarget 属性指向的是正在处理当前事件的对象,它总是指向事件绑定的元素。...可能指向 div 元素,也可能指向它的子元素。

    2.3K20

    玩转 PhpStorm 系列(二):导航篇

    一种是在菜单栏中点击 Navigate,然后在下拉框选择对应的全局导航,Class 代表类、File 代表文件、Symbol 代表符号/标记(可用于导航到指定变量、方法)、Line 代表行(需要在特定文件中操作...另一种是通过快捷键,上面的菜单栏下拉框导航选项右侧已经标注了对应的快捷键,下面我们就可以快捷键为例在 Mac 系统中进行演示(Windows 操作类似,就是快捷键有差异)。...导航到类、接口、Trait 打开一个新安装的最新版 Laravel 项目,以自带的 User 类为例,要导航到这个类,可以通过快捷键 Command + O 打开导航窗口,在输入框输入 User 进行类名的全局模糊匹配...之所以叫做「Search Everywhere」,是因为除了这些导航功能之外,还可以通过 Actions 对 PhpStorm 系统设置进行快速定位(这个我们后面会单独介绍),换言之,你想要搜索的一切都可以通过这个输入框完成...上下文导航 以上导航都是全局导航,如果是在某一段具体的代码片段中,我们想要进行上下文导航,以 User 模型类的 posts 方法为例: public function posts() { return

    2.2K10

    移动应用界面设计的尺寸规范「建议收藏」

    大家好,又见面了,我是你们的朋友全栈君。 移动应用的界面设计画布尺寸设计多大(特别是Android)、图标和字体大小怎么定、需要设计多套设计稿么、如何切图以配合开发的实现?...在android规范中对于导航栏、工具栏等的尺寸没有明确的规定。...但根据48dp原则,以及一些主流的android应用的截图分析,总结一下尺寸要求: 状态栏高度:50 px 导航栏、操作栏高度:96px=48dp x 2 主菜单栏高度:96 px 内容区域高度...3、基本元素的尺寸设置 iPhone的APP界面一般由四个元素组成,分别是:状态栏、导航栏、主菜单栏以及中间的内容区域。...– 导航控制器中的文字使用和大号的正文样式文字大小(明确来说,是 34 点)。 – 文本通常使用常规体和中等大小,而不是用细体和粗体。

    5.3K20

    手把手教你超可爱的导航栏

    的滑动导航栏效果,这个demo很基础,但是使用场景非常广泛噢!作为前端大白,今天就手把手一步一步教你实现它吧!❤️ 实现效果 看!这个滑动的效果很有趣吧!这样的滑动效果相信你一定有想过吧!...使用CSS对导航条进行修饰 这部分很简单没有涉及什么难得属性,相信聪明可爱的你一定信手拈来:happy: 首先我们先对整个导航栏进行一些调整,给导航栏添加了背景颜色,同时添加一定的圆角,让整个导航栏看起来圆嘟嘟...实现功能:鼠标移入对应的列表项,底部的线会滑到相应的位置 由于导航条中的项目过多,在后面查找对应元素索引时会比较麻烦,所以我们先给所有的列表项添加一个自定义属性data-index来代表他们的索引...left值, 这里通过事件委托来实现,通过获取触发事件的index属性来计算left值,当鼠标移出导航栏时,由于没有选择其他的项,所以线条需要回到原先被选中元素的位置 //鼠标移入底下的线跟着移动 slipNav.addEventListener...实现方法相同 //鼠标点击时背景颜色的滑块滑倒相应的位置 slipNav.addEventListener('click', function (e) { let target = e.target

    75130

    【总结】移动应用界面设计的尺寸设置及规范

    刚接触移动应用的界面设计,最先跳入脑海的疑问是:画布尺寸设计多大(特别是Android)、图标和字体大小怎么定、需要设计多套设计稿么、如何切图以配合开发的实现?...在android规范中对于导航栏、工具栏等的尺寸没有明确的规定。...但根据48dp原则,以及一些主流的android应用的截图分析,总结一下尺寸要求: 状态栏高度:50 px 导航栏、操作栏高度:96 px=48dp x 2 主菜单栏高度:96 px 内容区域高度:1038...3、基本元素的尺寸设置 iPhone的APP界面一般由四个元素组成,分别是:状态栏、导航栏、主菜单栏以及中间的内容区域。...– 导航控制器中的文字使用和大号的正文样式文字大小(明确来说,是 34 点)。 – 文本通常使用常规体和中等大小,而不是用细体和粗体。 百度用户体验做过的一个小调查: 单位:像素px ?

    3.6K40

    谈谈一些有趣的CSS题目(十四)-- 纯 CSS 方式实现 CSS 动画的暂停与播放!

    谈谈一些有趣的CSS题目(一)-- 左边竖条的实现方法 谈谈一些有趣的CSS题目(二)-- 从条纹边框的实现谈盒子模型 谈谈一些有趣的CSS题目(三)-- 层叠顺序与堆栈上下文知多少 谈谈一些有趣的CSS...CSS题目(七)-- 消失的边界线问题 谈谈一些有趣的CSS题目(八)-- 纯CSS的导航栏Tab切换方案 谈谈一些有趣的CSS题目(九)-- 巧妙的实现 CSS 斜线 谈谈一些有趣的CSS题目(十)-...所有题目汇总在我的 Github 。 正文从这里开始。 使用纯 CSS 的方法,能否暂停、播放 CSS 动画?看起来不可能,至少很麻烦。...100% { transform: translate(100px, 0); } } document.querySelector('.btn').addEventListener...checked 伪类实现 之前的文章《谈谈一些有趣的CSS题目(八)-- 纯CSS的导航栏Tab切换方案》也谈过,使用 radio 标签的 checked 伪类,加上  实现纯 CSS

    97830

    颜色革命(下)

    ,目的也只是为了不让页面显得太过空洞; 3、导航条与状态栏选色问题:如果正文内容没有大色块提色,可以考虑用主题色填充;但是如果正文内容已有大色块提色,则保持默认背景色即可,一般也就是白色...1.2.3 导航条样式设计建议 随着IOS系统风格的演进(特别是搜索条内置、状态栏同色之后),APP中导航条的设计也开始出现分化,目前而言主要分为两个流派: 一类以京东...而且随着IOS系统风格演化,导航条与状态栏逐渐融为一体,搜索条也已经内置进导航条,因此消除导航条与正文内容的区别、形成整页效果的“激进型”设计也足够值得肯定。...再说本节重点——间隔线,页面中不同内容大都以间隔线区分,而遵从用户自上而下的浏览习惯,导航条与页面正文是首先需要分隔的。...,就如其名字,一切以辅助、烘托主题风格效果的基准出发,最终形成整体视觉协调、局部多彩缤纷的视觉效果。

    66230

    SAO-UI-PLAN-Controlldot

    更新记录 2022-03-22:测试版 基本UI实现 基本功能实现 参考方向 教程原贴 动作监测参考 dorakika-导航测试 写在最前 虽然当时构思的时候想法很丰满,但是做出来以后突然觉得功能好鸡肋...左右浮动切换上下篇算是唯一的亮点了。上下按钮用拖动方式体感上还不如直接用侧栏菜单的按钮功能来的方便。尤其是考虑到PC端,手机端,窄屏设备,触屏电脑等设备动作的监测判断。总是牵扯到一大堆的交集。...window.mobileToc.open() else window.mobileToc.close() }else{ //媒体选择,屏宽分辨率大于900px //提取自main.js部分控制侧栏折叠的代码片段...这样子的话能避免屏宽比和设备的影响。 还有就是手机端按钮存在遮挡正文的问题,貌似 Dorakika 是有设计可以拖动位置的,但是代码大概给我误删了。...总的来说,这个悬浮按钮功能会给人眼前一亮的感受,但是因为上下左右点按长按总共不过六个动作,其实能够装载的功能也就那么多。单纯六个动作的话,侧栏按钮就能处理好。

    89020

    导航栏滚动吸顶并自动高亮和点击跳转锚点

    2021-01-16 07:37:33 在阿里云的云市场页面上有一个效果,就是api导航栏当滚动条滚动到其所在位置时,自动吸顶,当滚动到下方所在导航栏指定的介绍时,自动高亮其导航栏。...,并且给内容部分增加ref,便于后续获取其内容,导航栏也增加何时吸顶的标识以及导航栏高亮的标识,另外增加了一个class为zhanfIx的地址,因为当导航栏吸顶时,此处会因为空出位置,下面内容上移,而产生不和谐的效果...,我们需要在其吸顶的同时增加一个div来占位,以增加平滑的效果。...下面我们来看一下导航栏吸顶和滑动到指定位置导航栏高亮的逻辑。...这样我们就实现了通过滚动条来控制导航栏高亮的效果了,接下了我们要实现的便是点击导航栏自动定位到其所在内容。

    10.5K50

    如何灵活运用CSS Positions布局设计响应式导航栏

    在现代网页设计中,响应式导航栏是一个非常关键的组成部分。它能够给用户提供更良好的使用体验,并且能够适应各种不同屏幕尺寸的设备。...在本文中,我们将介绍如何使用CSS Positions布局设计一个灵活的响应式导航栏,并提供具体的代码示例。 第一步是创建导航栏的HTML结构。...我们可以使用一个 元素作为导航栏的容器,并在其中添加一个无序列表 来存放导航菜单项。...首先,我们将给导航栏添加一些基本的样式,如背景颜色、高度和边框等。...接下来,我们将介绍如何使用CSS Positions来实现响应式的导航栏。 在默认情况下,导航菜单项会水平排列,但在小屏幕设备上,我们希望将导航菜单项垂直排列。

    30210

    一文读懂H5新特性的应用

    标签 语法 标签用于定义导航链接的区域。通常放在页面的顶部或侧边栏,用于展示网页的主要导航链接。 使用场景 主导航栏:可以将整个网站的主要导航链接放置在 标签中。...次级导航栏:在页面内使用 标签来表示章节内的导航,方便用户在同一页面内快速跳转。...、作者信息、发布时间、正文内容以及分类信息。... 标签 语法 标签用于定义页面中的导航链接区域。 使用场景 主导航菜单:用于定义网页的主导航栏。 次级导航:用于定义页面中的次级导航部分,如文章目录、页内链接等。... 标签 语法 标签用于表示页面内容的侧边栏,或与主内容相关的补充信息,如广告、相关链接等。 使用场景 侧边栏:用于网页的侧边栏,通常放置广告、推荐文章、热门标签等内容。

    45610

    WordPress添加天气插件-自定义HTML代码设置

    前几天想做一个导航站,发现导航站的导航栏有个天气插件,挺好看的,还能根据IP显示天气预报,今天就来试试能不能安装在我这wordpress主题上。就像下面这样。...a[f].q||[]).push(arguments)});a[f].l=+new Date();if(a.attachEvent){a.attachEvent("onload",b)}else{a.addEventListener...4e9c-b3ad-7b9217f4e494", hover: "enabled", container: "tp-weather-widget" }) 部署步骤 根据你的选择你是想安装在侧边还是导航栏上...把代码复制进去就行了 效果就会是这样 由于我侧边栏放的东西挺多的,我就想把他放到导航栏上,我就尝试把他放到导航栏上,试了好久才把他放到导航栏,一开始我以为直接把代码放到页头部分就行了,结果会出现下面这种情况...我网上看了很久,看到有人说插到导航栏 php文件中,放入首页的head是不行的,要先找到位置,找到想要放的位置,比如说我要放到我的网站logo后面。

    2.1K20
    领券