目前导览项目页面愈来愈完整,相对有愈来愈多小细节需要留意,尤其是资料量变多时,许多浏览时伴随的滚动效果多少会影响使用者体验,因此除了顾及版面资料和操作功能,UX 方面也不能轻忽。
需求:浏览书单时,往下滑动便会让导览列相对往上而消失在视窗内
不过这还算容易调整,使用定位方式 position: fixed;
就能快速解决了!
需求:当浏览书单资料量较多的页面时,浏览到半途想要回到页面最上方,却得拉动滚动条或慢慢往回滚动页面
在右下角新增一个可以点击的按钮,一样使用 position: fixed;
固定在视窗上,无论使用者浏览到任何程度都能立即点击按钮回到页面最上方。
单纯切版的话,可以利用 <a>
的 href
属性,设定 href="#"
或 href="#top"
直接连结到当前页面的最上方。
透过 JavaScript 操作时,则可使用 Web APIs 当中的 window.scrollTo() 设置滚动行为。
<button @click="scrollToTop">
<img src="@/assets/chevron-up.png" alt="Scroll To Top" />
</button>
methods: {
scrollToTop() {
window.scrollTo({
top: 0,
left: 0,
behavior: "smooth",
});
},
},
需求:Day 10 曾提到 Vue.js 采用「就地更新」策略,因此会有重复使用元件的情形,再加上 SPA(Single Page Application)单页式应用只会抽换页面内容,因此在切换路由时,资料虽然有更新,但仍保持上一页最後的浏览位置;这对使用者来说,会以为网页出现问题,例如在 IT邦帮忙铁人赛系列书已经浏览到最底部,结果切换到五折区却还是停留在最底部,而不是页面开头处。
scrollBehavior
在建立 Router 实例时使用 scrollBehavior
函式,可以指定滚动至特定位置,如此一来便能在每次路由切换时,都会将显示画面滚动至所设定的指定位置。
{ x: 0, y: 0 }
:设定 X、Y 轴回到顶端处behavior
:设定 scroll 行为,smooth 为平滑滚动。const router = new VueRouter({
routes: [...],
scrollBehavior() {
return { x: 0, y: 0, behavior: "smooth" };
},
})
<<: Day 25 - Code Injection 与 SQL Injection
>>: [ Day 25 ] - 阵列的资料处理 - find
程序是指位於存储器中的代码的静态映像。旧的单 CPU 计算机系统一个一个地加载和执行程序。如果程序花...
经历过一连串的Blue Prism实作,今天想让大家与自己都松口气, 看到上面的图案,是否有种机械...
「42 年里,我什麽都经历过。我被开除过,也被表扬过。我当过小组长、主管、也当过普通员工,甚至当过...
交朋友 先有健康的观念 公司内 公司外 ...
上一篇我们设计了 SPI 的状态机,那麽我们今天要来引用 SPI 状态机模块来实现整个 SPI 的模...