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

能用CSS实现的就不用麻烦JavaScript

平滑滚动 曾经有一段时间,我们不得不依靠JavaScript的window.scrollY来实现来执行此操作,如果想平滑滚动还要依赖定时器增加一个动画。...Flash 被抛弃,有天赋的动画开发者使用 HTML5 去实现过去从未实现的效果。他们需要更好的工具去开发复杂的动画序列并获得最好的性能。JavaScript(或者jQuery) 并不能够做到。...鼠标悬浮的场景十分常见,例如导航的菜单: [image.png] 一般要把隐藏的东西菜单作为hover目标的子元素或者相邻元素,才方便用css控制,例如上面的菜单,是把menu当作导航的一个相邻元素...账户设置 登出 menu在正常态下是隐藏的: .menu{ display: none; } 导航...但是实际情况下会有意外发生,那就是在移动端iphone上面,触摸会触发CSS的hover,并且这个的触发会很高概率先于touchstart事件,在这个事件里面会判断当前显示还是隐藏的状态,由于css

1.3K11

iOS 9人机界面指南(四):UI元素(下)- 腾讯ISUX

当视图数量超过页面宽度可承载的氛围时,点的大小和间距并不会因此变小(如果需要显示的点超过一定数量,系统会把它截断) 默认情况下不支持视图之间导航;你必须实现视图到视图之间的导航并适当地更新页面控件状态...页面控件是为所有视图均平等的场景而设计的。 不要使用页面控件来显示视图中的层次结构或其他复杂的排列。...页面控件不显示视图是如何相互关联的,而且不表明哪个视图对应于每个点,因此它不能帮助用户导航到特定的视图。 避免显示太多点。超过10个点就很难让用户一目了然,超过20个视图在序列中访问起来非常耗时。...你可以自定义一个文本框,帮助用户更好地理解如何使用它。举个例子,你可以在文本框的左侧或者右侧加入自定义图形,或者加入系统按钮,书签按钮等。...此外,用户在滚动过程中将很有可能误点其它按钮。 4.4.3模态视图 模态视图是一个以模态形式展现的视图,它为当前任务或当前工作流程提供独立的、自包含的(self-contained)功能。 ?

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

iOS 9人机界面指南(四):UI元素(上) - 腾讯ISUX

它能够帮助你更好扁平信息层级,也会让用户更容易找到所需内容。如果在导航栏中使用了分段控件,请确保返回按钮标题命名的准确。(更多使用指引请参阅本章第三节中的分段控件。) ?...用户更习惯点击动作按钮后使用系统提供的服务。你应该学会如何更好地利用用户这一既定习惯,不是强迫他们以一种全新的方式来完成同样的事情。 确保控制器中的操作适用于当前场景。...使用滚动条效果的时候,当前页面滚动到下一页;而使用翻页效果时,页面上会出现一个模拟实体书或笔记本翻页效果的翻页动画 使用页面视图控制器来展示那些线性的内容(比如一个故事的文本),或者是一些可以被自然拆分成块的内容...当你在滚动视图中使用页面控件的时候,最好禁用同一方向的滚动指示器(scroll indicator)。这样一来可以让用户聚焦到页码控件上,并让他们有了一种唯一且清晰的方式来浏览当前内容。...重要 以上四种单元格样式均支持添加表格视图元素,勾选或展开标志。添加这些元素会缩小标题以及副标题单元格的可用宽度。 使用表格视图可以简洁高效展示少量或者大量信息。

10.1K51

JavaScript 高级程序设计(第 4 版)- BOM

()方法滚动页面。...三个方法都接收表示相对视口距离的x和y坐标,前两个表示要滚到的坐标,最后一个表示滚动的距离 这几个方法都接收一个ScrollToOptions对象,除了提供偏移值,还可以通过behavior属性告诉浏览器是否平滑滚动...q=javascript#contents 当前加载页面的完整URL。...URL 如果不希望增加历史记录,可以使用replace()方法,重定向后后退按钮是禁用状态 reload() 能重新加载的当前显示页面。...对象 history 对象表示当前窗口首次使用以来用户的导航历史记录 history 对象还有一个 length 属性,表示历史记录中有多个条目 # 导航 go() 可以在用户历史记录中沿任何方向导航

1.2K10

Web浏览器滚动方案一览| rAF等

Window 大小与文档大小要获取窗口大小和文档大小,我们可以使用JavaScript编程语言。...通过使用这些属性,我们可以对网页进行响应式设计,并确保其在不同设备上的显示效果良好。...这些不一致来源于远古时代,不是“聪明”的逻辑。获取当前滚动获取文档或DOM元素当前滚动状态是前端开发中很常见的需求。...这两个属性分别返回页面内容区域从文档左上角滚动了多少像素,它们提供了一种跨浏览器兼容的方式来获取当前页面滚动状态。开发人员不必再记住各种浏览器的差异性,只需要调用这两个属性即可简单高效实现功能。...scrollByscrollBy 方法用于将页面或元素相对当前位置滚动指定的距离。方法 scrollBy(x,y) 将页面滚动至 相对于当前位置的 (x, y) 位置。

10010

歌词显示控件的实现(下)——自定义View

01 — 分析 我们最重要的目的是将文字绘制在View中,并设置各种效果和动画,而在绘制之前我们需要计算出文字的位置,歌词又是以 行 为单位来显示,所以,计算行高和行间距,当然,还需要一些文字颜色等属性...; 可以想到,歌词会随着音乐或者说时间进行滚动,所以我们需要对纵向偏移量进行计算和处理,并设置滚动动画; 接下来就应该逐行进行绘制了,之后可以给当前播放位置绘制指示器以提高逼格; 用户可以手势滑动歌词进行查看...在上篇中,我们也知道每一句歌词中都包含着开始时间,而我们也就可以通过当前歌曲播放进度匹配当前播放的行数 mCurrentPlayLine,并通过当前播放所在行,计算偏移量scrollY的值,控制歌词播放滚动当前播放位置的高亮显示...ACTION_DOWN时的y值,并比较ACTION_MOVE过程中的y值计算两者的差值,生成新的偏移量scrollY,再刷新视图,就可以了 !...09 — 绘制指示器 ? 到这里,歌词显示器就算完成了,有不对的地方还望大家指出。

1.1K10

【交互探讨】无限滚动还是分页展示,这是个问题!

就像我们习惯于使用粘性头部一样,我们可以集成一个页脚显示:一个小助手,它会保持在右下角的栏中,并在需要时显示页脚,页面的其余部分使用无限滚动。...一个很好的例子是 Dahmakan,它是来自马来西亚吉隆坡的送餐服务(目前没有无限滚动)。值得强调的是,页脚也应该可以通过键盘导航访问,不仅仅是点击或点击打开。...一般来说,我们可能不想在其中添加无限滚动的每一步,使用户的浏览器历史记录混乱。所以选择带有下拉菜单到特定页面确实是个好主意。 用户可以跳转到特定页面,同时在浏览过程中使用无限滚动。...也许当前页码旁边添加v字形下拉按钮会使它更加明显。Pepper.pl图片 将分页和无限滚动结合在一个地方的一个很好的例子;唯一的改进可能是稍微更好的焦点样式和更好的可访问性导航跳转。...当用户向下滚动页面时,URL会被更新,我们也允许他们将URL复制到列表中的当前位置。 用户总是可以到达页脚,滚动指示他们当前所在的位置以及可以跳转到的位置。

3.1K20

Meteor 分页包 alethes:pages 详解

仅 subscribe 当前页需要的数据,并不是一次性 sub 所有数据 本地缓存,获取过的数据本地存储,避免返回时重新获取 在加载当前过程中,预取下一页的数据,确保下一页的时候无缝过度 多个集合产生一个分页数据...支持 bootstrap 2/3 的分页导航模版 支持 iron-router 包 页面无限滚动加载特效 安装 meteor add alethes:pages 官网 atomsphere - https...个性化 但具体每页显示多少数据、显示数据的样式如何定义、分页导航按钮能不能换成滚动屏幕自动加载瀑布流的方式?等等类似的问题,这个包都提供了解决方案。...,其中 infiniteTrigger 参数我在使用过程中遇到了很多问题。...div 当作 body 来用,滚动的时候实际时 div 的滚动条在滚动 body 的滚动条一直在 0 的位置,所以无论你看到的 div 的滚动滚动到了哪里,下一组数据都不会继续加载。

19220

指示性设计元素不可或缺

指示性设计元素是我们今天讨论的重点,它对用户体验的影响是多方面的,使用正确的指示性设计元素可以: ● 方便用户快速浏览页面 ● 加强页面视觉层次感 ● 提供更便利的导航 ● 提高页面转化率 关于指示性元素和用户体验之间的问题...5)界面中通过深色背景突出表单: ? 6)界面中有一个三角指向表单: ? 测试结果显示,落地页的热点图差距非常巨大。 首先,带有手绘箭头的页面热点图如下: ?...此外,鼠标还可以提示用户滚动页面,手势动画可以提示用户滑动,总之,他们都可以帮助用户顺利了解和探索你的页面。 某建筑设计工作室的网站 底部有一个鼠标形状的图标,告知用可以尝试向下滚动: ?...外卖网站 在页面底部显示菜品的一部分,提示用户可以滚动查看更多;此外,使用箭头作为方向提示,告知用户水平方向上也会看到更多信息: ?...总之,尽管指示性设计元素的表现方式多种多样,但它们最终的目的都是引导用户,为用户提供更好的用户体验。设计师在设计过程中,自始至终都要铭记这一点。

77830

移动web开发需要注意的二十点

(部分设备可能支持不是很好); 2、HTML5标签的使用 在开始编写webapp时,建议前端工程师使用HTML5,放弃HTML4,因为HTML5可以实现一些HTML4中无法实现的丰富的WEB应用程序的体验...比如定义一块内容或文章区域可使用section标签,定义导航条或选项卡可以直接使用nav标签等等。...3、放弃CSS float属性 在项目开发过程中可以会遇到内容排列排列显示的布局,假如你遇见这样的视觉稿,建议你放弃float,可以直接使用display:block; 4、利用CSS3边框背景属性 这个按钮有圆角效果...7、学会使用webkit-box 上一条,我们说过自适应布局模式,有些同学可能会问:如何在移动设备上做到完全自适应呢?...通过window.scrollY和window.scrollX我们可以得到当前窗口的y轴和x滚动条的值。

1.9K20

最新iOS设计规范四|3大界面要素:视图(Views)

页面视图控制器可以使用滚动页面卷曲两种样式的任意一种完成页面之间的转场过渡。 ? 如果需要,可以自定义一种非线性的导航方法。使用页面视图控制器时,页面只能按顺序跳转,页面之间是无法跳转的。...如果可以进行多次选择,则浮层还是要保持打开状态,直到用户有意识对它进行关闭。 自动关闭非模式弹出窗口时,请务必保存当前任务。通过点击屏幕非浮层区域部分,很容易误点关闭非模态弹出窗口。...页面元素通常会显示有多少页面,多少屏,或者多少数量的内容是当前可用及可见的。如果你在滚动视图中显示页面控制元素,则需要关闭滚动视图中的滚动条以免为用户带来困扰。...拆分视图提供与选项卡栏相同的快速导航,同时更好地利用了大屏幕。 为每种类型的列选择适当的样式。对于显示侧栏的主列,请使用侧栏外观。此外观适用于应用程序级导航和集合列表,例如Mail中的邮箱。...表单可以简洁、高效展示大量或少量信息。一般而言,表格是基于文本的内容的理想选择,并且通常作为导航视图显示在拆分视图的一侧,相关内容显示在另一侧。

8.4K31

无限滚动加载最佳实践

这种技术很简单,就是页面往下滚动的时候保持刷新。 ? 这项技术使用户在没有打断和额外交互的情况下滚动列表 —— 随着用户滚动,一条条的内容就出现了。...导航条保持可见 使用无限滚动时候,最好保持导航条持续可见,这样可以很快导航页面或应用的不同区域,对用户来说也更简单。如果找不到导航条,用户将不得不一路向上将页面滚回去。 ?...仅适用移动设备:因为移动端屏幕要小得多,导航条所占比例可以相对大一些。如果屏幕上是滚动的内容,用户滚动获取新内容的时候,导航条可以隐藏起来;当用户开始往回滚动试图回到顶部的时候再显示出来。 ? 2....使用进度指示(process indicator)让用户知道,新内容正在加载,很快就会在页面显示。...---- 往期精选文章 使用虚拟dom和JavaScript构建完全响应式的UI框架 扩展 Vue 组件 使用Three.js制作酷炫无比的无穷隧道特效 一个治愈JavaScript疲劳的学习计划 全栈工程师技能大全

4.2K20

『React Navigation 3x系列教程』createMaterialTopTabNavigator开发指南

TabNavigatorConfig(可选):配置导航器的路由(:默认首屏,navigationOptions,paths等)样式(,转场模式mode、头部模式等)。...path(可选):用来设置支持schema跳转时使用,具体使用会在下文的有关Schema章节中讲到; navigationOptions(可选):用以配置全局的屏幕导航选项:title、headerRight...如果是,一旦该 Tab 页失去焦点,将被移出当前页面, 从而提高内存使用率。 animationEnabled : 切换页面时是否有动画效果。...TabNavigator的时候; 初始化传参:如何在设置页面的时候传递参数呢?...大家在学习使用React Navigation3x过程中遇到任何问题都可以在React Navigation3x的视频教程中寻找答案哈。

12.6K20

WEBAPP开发技巧总结

2、HTML5标签的使用 在开始编写webapp时,哥建议前端工程师使用HTML5,放弃HTML4,因为HTML5可以实现一些HTML4中无法实现的丰富的WEB应用程序 的体验,可以减少开发者很多的工作量...比如定义一块内容或文章区域 可使用section标签,定义导航条或选项卡可以直接使用nav标签等等。...3、放弃CSS float属性 在项目开发过程中可以会遇到内容排列排列显示的布局(见下图),假如你遇见这样的视觉稿,哥建议你放弃float,可以直接使用display:block; 4、利用CSS3...7、学会使用webkit-box 上一节,我们说过自适应布局模式,有些同学可能会问:如何在移动设备上做到完全自适应呢?...通过window.scrollY和window.scrollX我们可以得到当前窗口的y轴和x滚动条的值。

1.9K20

分享15个有用的,你可能还不知道的CSS小技巧,建议每个前端开发者都了解下

一旦我们达到了一定的性能门槛,普通用户对你的网站更感兴趣的是其美观度,不是相对加载时间的比较。通过组件库(Bootstrap、Material等),将CSS抽象出工作流程变得非常容易。...:target伪类在没有JavaScript的情况下创建滚动效果 通过使用:target伪类,你可以在元素成为当前URL片段标识符(“#”后面的部分)的目标时对其进行样式设置。...这可以用于创建滚动效果或突出显示特定部分,而无需依赖JavaScript使用:target伪类,你可以根据URL的片段标识符来选择并样式化特定的元素。...当用户点击包含片段标识符的链接时,浏览器会自动滚动到对应的元素,并应用:target伪类所定义的样式。这使得你可以在页面上创建滚动到特定部分的效果,或者突出显示被定位的元素。...通过使用:target伪类,你可以实现一些基本的滚动效果,而无需依赖JavaScript代码。这使得页面更加轻量和可维护,并提供了一种在不支持或禁用JavaScript的环境中实现滚动效果的方法。

16540

WKWebView

布尔值,显示当前页面是否正在加载。 - reload。重新加载当前页面。 - reloadFromOrigin。重新加载当前页面,如果可能,使用缓存验证条件执行端到端重新验证。...网页视图的后退列表,即之前访问过的web页面的列表。 canGoBack。布尔值,指示后退列表中是否有可被导航到的后退项。 canGoForward。布尔值,指示后退列表中是否有可被导航到的前进项。...导航到后退列表中的某一个网页项,并将其设置为当前项。 - loadRequest:。导航到请求的URL地址。...导航到后退列表的后退项中。 - goForward。导航到后退列表的前进项中。 - reload。重新加载当前页面。 - reloadFromOrigin。...重新加载当前页面,如果可能,使用缓存验证条件执行端到端重新验证。 - stopLoading。停止加载当前页面所有资源。

5.9K20

深入理解浏览器原理

页面渲染完成后,浏览器如何响应页面操作事件也进行了深入的介绍。良心推荐!...导航到其他站点 导航完成后,再次将不同的URL放到地址栏导航,浏览器会检查当前渲染网站的beforeunload事件。如有设置导航或关闭选项卡时发出警报“离开这个网站吗?”...在视口内部使用栅格部件 - chrome首次发布时处理栅格化的方式 用户滚动页面,则移动光栅框架,并通过更多光栅填充缺失的部分 合成是一种将页面的各个部分分层,分别栅格化,并在合成器线程的单独线程中合成为页面的技术...如果页面的某些部分应该是单独的图层(滑入式侧面菜单)但没有得到单独图层,可以使用CSS属性will-change提示浏览器。...非快速可滚动区域 1) 合成页面时,合成器线程标记页面的一个区域,该区域将事件处理程序附加为“非快速可滚动区域”。

4.5K31

最新iOS设计规范五|3大界面要素:控件(Controls)

六、页面控件(Page Controls) 页面控件在平面页面列表中显示当前页面的位置。它显示为一系列小指示点,代表按打开顺序显示的可用页面。实心点表示当前页面。...如果你的应用需要显示超过20个页面,请考虑使用其他的排列方式 - 例如网格 - 启用非顺序导航页面控件显示在屏幕底部的中心。页面控件应始终位于内容底部和屏幕底部之间的区域,并保持居中。...选项为中长列表时,可以考虑使用选择器。如果需要显示太短的选项列表,请考虑使用下拉菜单不是选择器。尽管选择器使您可以轻松快速滚动浏览许多项目,但它可能会给一小部分项目增加太多视觉效果。...如果加载过程是可量化的,请使用进度条不是加载器,以便用户可以更好衡量正在发生的事情以及需要多长时间。 保持加载器的转动。用户会很自然把静止的加载器与于APP的卡顿联系起来。...避免使用模糊的术语,加载或验证,因为它们通常不会增加任何价值。 进度条(Progress Bars) 进度条是一个从左到右填充的轨道,用以显示当前页面的任务进度。

8.5K30

原生 JS 实现惯性滚动,给鼠标滚轮增加阻尼感,纵享丝滑

可以通过以下例子感受两种滚动的差异:图片https://code.juejin.cn/pen/7272919488994279484本文将教会你如何让鼠标滚轮也能够丝滑操作网页,带来更舒适的页面惯性滚动体验...通过滚轮事件中的 deltaY、deltaX 值获取到最终滚动距离,浏览器帧绘制函数 requestAnimationFrame 来逐帧设置页面的 scrollTop 达到模拟滚动的效果,并利用线性插值或缓动函数等数学方法来计算变化过程中的值...,最终达到平滑滚动效果。...}}上面代码中 linearProgress 表示一个从 0 到 1 的线性进度值,通过代入缓动函数计算得出 easedProgress 缓动进度,最后将缓动进度乘以起始值和目标值之间的差,加上起始值得到当前帧应该推进的值...视频滚动在该例子中我使用scrolly-video 这个库,它能将视频每一帧解析绘制到 Canvas 上,然后基于滚动控制进度,实现效果如下:普通滚动平滑滚动图片图片Gif 图帧率有限,可以前往在线体验效果

1.1K41
领券